Skip to main content

Core to write deep APIs using a module's tree

Project description

HalfAPI

Base tools to develop complex API with rights management.

This project was developped by Maxime Alves and Joël Maïzi. The name was chosen to reference HalfORM, a project written by Joël Maïzi.

Dependencies

  • python3
  • python3-pip
  • libgit2-dev
  • starlette
  • PyJWT
  • click
  • uvicorn
  • orjson
  • pyyaml

Configuration

Configure HalfAPI in the file : .halfapi/config .

It's an ini file that contains at least two sections, project and domains.

### Project

The main configuration options without which HalfAPI cannot be run.

name : Project's name

halfapi_version : The HalfAPI version on which you work

secret : The file containing the secret to decode the user's tokens.

port : The port for the test server.

loglevel : The log level (info, debug, critical, ...)

Domains

The name of the options should be the name of the domains' module, the value is the submodule which contains the routers.

Example :

dummy_domain = .routers

Usage

Develop an HalfAPI domain by following the examples located in tests/dummy_domain . An HalfAPI domain should be an importable python module that is available in the python path.

Run the project by using the halfapi run command.

You can try the dummy_domain with the following command.

python -m halfapi routes --export --noheader dummy_domain.routers | python -m halfapi run -

API Testing

@TODO

Example

Check out the sample project that helps you to build your own domain.

Development

@TODO

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

halfapi-0.6.1.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

halfapi-0.6.1-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file halfapi-0.6.1.tar.gz.

File metadata

  • Download URL: halfapi-0.6.1.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2

File hashes

Hashes for halfapi-0.6.1.tar.gz
Algorithm Hash digest
SHA256 b37d3ba336db5e33ec97bd2f970c66f5dd23379df7687a31ed6c6cfa5b938de9
MD5 243271add2272682b5110cccb6812b37
BLAKE2b-256 2d4c715cb965ef8b7f87d30fca4aa3eca7d35aafee3e4ec58099dbd8881ac519

See more details on using hashes here.

File details

Details for the file halfapi-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: halfapi-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2

File hashes

Hashes for halfapi-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41feb65211a5eebf88f957c7da6a3ea51892f91400456e794be2594bdd51848f
MD5 f63d564a30493a8f4965fdca7285c845
BLAKE2b-256 bd018bb87b1f4db5e5a7f16fe8dfd10251cc9bacab95890d04008f2d637ea4f1

See more details on using hashes here.

Supported by

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