Skip to content

Latest commit

 

History

History
98 lines (71 loc) · 2.34 KB

README.md

File metadata and controls

98 lines (71 loc) · 2.34 KB

CryptoAware

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.

Installation

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.

Usage

Without Docker & Docker Compose

To start the FastAPI server, run the following command:

fastapi run main.py

The server will start on http://localhost:8000.

With Docker & Docker Compose

To start the FastAPI server using Docker, run the following command:

docker-compose up

The server will start on http://localhost:8000.

Contributing

To contribute to the project, please follow the steps below:

  1. Fork the repository
  2. Create a new branch
  3. Make your changes
  4. Create a pull request
  5. Wait for the pull request to be reviewed
  6. Merge the pull request
  7. Celebrate your contribution!
  8. Repeat

Development Tips

Pre-commit

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

Linting

The project uses the flake8 linter to check the code for errors. To lint your code, run the following command:

flake8 .