CryptoAware is set of APIs which are used in the WatchTower project to handle processing of user provided exports from various cryptocurrency exchanges. The APIs are used to extract and process the data from the exports and store it in a Memgraph database. The data is then used to generate reports and conversational interfaces for the user.
The project is written in Python and uses the following libraries:
- FastAPI
- Memgraph
- Pandas
- Langchain
Install virtualenv:
sudo apt install python3-venvCreate and activate a virtual environment:
python3 -m venv venv
source venv/bin/activateInstall the required libraries:
pip install -r requirements.txtCopy the .env.example file to .env and fill in the required values.
To start the FastAPI server, run the following command:
fastapi run main.pyThe server will start on http://localhost:8000.
To start the FastAPI server using Docker, run the following command:
docker-compose upThe server will start on http://localhost:8000.
To contribute to the project, please follow the steps below:
- Fork the repository
- Create a new branch
- Make your changes
- Create a pull request
- Wait for the pull request to be reviewed
- Merge the pull request
- Celebrate your contribution!
- Repeat
The project uses the pre-commit library to run various tools before committing your code. To install the pre-commit
hooks, run the following command:
pre-commit installThe project uses the flake8 linter to check the code for errors. To lint your code, run the following command:
flake8 .