Short description about the package.
- ๐ Development server
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
You need:
Python 3
installed on your local machine.- use
pyenv
to manage multiple versions (recommended): link, - or you will find installation steps for your platform on the python official website,
- use
pipenv
for virtual environment management: link.
Clone the project:
git clone https://github.com/rjNemo/graphql-file_upload.git
Create a virtual environment and install dependencies with:
make local-setup
Then launch the development server using:
make run
A GraphiQL API explorer is available on the development server address: http://127.0.0.1:8000/graphql/.
๐ Enjoy!
See Makefile for available scripts:
- dev server
- run tests
Tests are run using pytest
and the test coverage is checked using pytest-cov
.
make test
pipenv run test
pipenv run python -m pytest tests/functional_api
Coding style is enforced using black
for formatting, flake8
for linting and mypy
for static type checking. Additional
security check are performed using bandit
and safety
.
make lint
โ๏ธ It is encouraged to run linters and tests using make lint
before committing to the repository.
We use a GraphQL grammar to structure the endpoints systematically.
- FastAPI - FastAPI framework, high performance, easy to learn, fast to code, ready for production
- Ariadne - Python GraphQL schema-first
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting merge requests.