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-venv
Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate
Install the required libraries:
pip install -r requirements.txt
Copy the .env.example
file to .env
and fill in the required values.
To start the FastAPI server, run the following command:
fastapi run main.py
The server will start on http://localhost:8000
.
To start the FastAPI server using Docker, run the following command:
docker-compose up
The 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 install
The project uses the flake8
linter to check the code for errors. To lint your code, run the following command:
flake8 .