python jsonapi parser
Project description
Furrycorn is intended to make interacting with jsonapi-outputting APIs easier to consume. It is opinionated but lienient when possible, failing fast when things go awry.
To understand how to use this library, you will need some knowledge of the jsonapi v1.0 specification.
Furrycorn provides:
a URL abstraction for interacting with services hosting jsonapi APIs.
a DOM-like object model of entities in jsonapi response bodies.
a toolkit for relationship traversal and entity iteration.
The core model is well-tested, but not the toolkit–furrycorn is still in active development.
Compatible with Python 3.6+. Will investigate other versions on request.
Installation
pip install furrycorn should do it for your projects.
Development
Requirement setup should be a breeze using pipenv.
If you’re using nixos, simply boot a nix-shell in the project directory to get a development shell.
For the rest of the world:
Clone the directory and navigate to your local repo in a command line.
pipenv install --three
pipenv shell
You will need to set one or two environment variables to use the examples, depending on the example. The methodology for doing this varies by OS.
For development, make sure PYTHONPATH includes the project root. Run tests with py.test.
Pleas submit changes by pull request on an aptly named topic branch.
Code Style
The author of this library prefers a functional style of coding which centers on “types”. It’s a lot easier to reason about types than logical steps, and given the highly structured nature of jsonapi, it felt like a good fit.
Feel free to message with any questions you have. I’m happy to help and explain.
License
This project is Copyright © 2018 odeum.gg and licensed under the MIT license. View the license for details.
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
File details
Details for the file furrycorn-0.7.tar.gz
.
File metadata
- Download URL: furrycorn-0.7.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2adbceed5701df93155f54112e74b170d89b41292535a6ddfb22c2c8a8a642a8 |
|
MD5 | 83df56323563dba7ac7e948380e223f1 |
|
BLAKE2b-256 | be5921a505659e3d09fc9355897827c493d6ff8d6efaf9c6898a8462d3b9718e |
File details
Details for the file furrycorn-0.7-py3-none-any.whl
.
File metadata
- Download URL: furrycorn-0.7-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef8639f50fc83cd9c09498d77a2dbe09d1f13642acbdb8c3ce598638e451c916 |
|
MD5 | fec871af78fb2ae34cc2d7de706c3237 |
|
BLAKE2b-256 | 987bcc066bc4b3ad3b4a0abbbbade86b752de008da0658c1236a8b36b3ca47f6 |