Core to write deep APIs using a module's tree
Reason this release was yanked:
Erreur dans le code conf
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 a toml file that contains at least two sections, project and domains.
### Project
The main configuration options without which HalfAPI cannot be run.
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
Specify the domains configurations in the following form :
[domains.DOMAIN_NAME]
name = "DOMAIN_NAME"
enabled = true
prefix = "/prefix"
module = "domain_name.path.to.api.root"
port = 1002
Specific configuration can be done under the "config" section :
[domains.DOMAIN_NAME.config]
boolean_option = false
string_value = "String"
answer = 42
listylist = ["hello", "world"]
And can be accessed through the app's "config" dictionnary.
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.
PYTHONPATH=$PWD/tests python -m halfapi domain dummy_domain
CLI documentation
Use the CLI help.
python -m halfapi --help
python -m halfapi domain --help
API Testing
@TODO
Example
Check out the sample project that helps you to build your own domain.
Development
@TODO
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for halfapi-0.6.28rc3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aad8074f885797a95d8dc0bc562ba88ce00ada108fd2b355857184a349f0d70a |
|
MD5 | df21d4472a9aae36a812396ad6f34a02 |
|
BLAKE2b-256 | ae8bfce7e29fa54b8da25231d9b68dc6eb6108d06efe7f63b7dfa34f4b20d716 |