Skip to main content

Declarative, instant REST APIs based on FastAPI, Pydantic, SQLAlchemy, and PostgreSQL

Project description

Getting Started

To get started with instarest for your application, visit the docs at https://instarest.erob.io/

To contribute to instarest, see the contributing section below.

Contributing

Getting Started Locally

  1. Launch postgres and pgadmin via docker-compose docker-compose up --build.

  2. Keeping your containers running, open a new terminal with the root of this repo as the working directory. Install poetry: pip install poetry (or use pipx on link here if you prefer isolated envs, or consider using conda).

  3. Create and enter the virtual environment: poetry shell

  4. Install the dependencies poetry install

  5. Start the app: uvicorn examples.example_app:auto_app --reload.

  6. Open localhost:8000/v1/docs and start interacting with swagger!

  7. You can shut down and your db / minio data will persist via docker volumes.

pgAdmin

  • pgAdmin console is available at localhost:5050 if you launch via docker-compose. Login with email:user@test.com and password:admin. Make sure that you login to the server with hostname db in pgAdmin (under the "connection" tab in server properties). This is because the pgAdmin container is launched in the same docker network as the postgres container, so it uses the service name, whereas launching this app from command line uses port forwarding to localhost. The user, password, and db name will all be postgres, port 5432.

Hooks and Tests

  1. Set up the precommit hook with pre-commit install.

  2. Run tests and get coverage with pytest --cov, and get html reports for vs code live server (or any server) with pytest --cov --cov-report=html:coverage_re

  3. Open a pull request against the repo! Please write tests, your coverage will automatically be added as a comment to any PR via GH actions.

Viewing Docs Locally

  1. Install docs dependencies with pip install -r requirements-docs.txt.
  2. Install mkdocs with pip install mkdocs-material.
  3. Move into the docs/en directory via cd docs/en.
  4. Run mkdocs serve to start a local server.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

instarest-0.0.9.tar.gz (13.2 kB view hashes)

Uploaded Source

Built Distribution

instarest-0.0.9-py3-none-any.whl (17.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page