pyOSCP
Python Rest-Interface for Open Smart Charging Protocol (OSCP) 2.0 built on Flask-RESTX, providing a OpenAPI interface.
OSCP is not as widely used as OCPI or OCPP which are much more a business standard. It can be used to communicate flexibilities and capacities, having a typical negotiation process.
As version 1.x used a SOAP Approach, this can still be seen from the protocol. The Registration between the participants uses a handshake and needs to have an open port on both sides.
To reduce reimplementation, an academic implementation is provided here, which furthermore allows to integrate with a new RESERVATIONS endpoint, if needed.
Currently, is no other public Python Implementation for the OSCProtocol. The documentation of the protocol can be found here (https://www.openchargealliance.org/protocols/oscp-20/ - requires mail-registration)
Install Instructions
pip install pyoscp
or after cloning the repository, one can run pip install -e . to work locally with the package.
Package information
oscp
├── __init__.py
├── *_endpoints.py # <- contains REST Endpoint Descriptions
├── json_models.py # <- contains JSON Schemas in Flask-RestX
└── RegistrationManager # <- contains stubs which have to be inherited and implemented
Configuration
main.py contains an example of how to use this project.
The managers are meant to be understood as interfaces, which must be implemented according to the business logic which is not part of this communications module.
An example architecture would use a background job to schedule answers (for example for the commands module) while saving the data from the post/patch requests in a seperate database, which is used for communication between the background job and the Flask app.
Metadata
Release files for pyoscp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyoscp-0.1.0.tar.gz | 13.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyoscp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.1 kB
Release files / pyoscp-0.1.0.tar.gz
| Download URL | pyoscp-0.1.0.tar.gz |
|---|---|
| Size | 13.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6a57a0baaf453a07cef8288d5a0f79839a443cf86afa85c26262d31de82ddd49
|
|
BLAKE2b-256 checksum How to use checksums |
e84ca1949dfccff784eb34a06f268183803840231a22ac3bb3d45fdb6e242838
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.2 CPython/3.9.13 Linux/5.10.0-19-amd64
|
Release files / pyoscp-0.1.0-py3-none-any.whl
| Download URL | pyoscp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 17.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d4a4b241bee194c813674d602d1bc003c6dbd84c960a2c2b0153b05421bb4b58
|
|
BLAKE2b-256 checksum How to use checksums |
cb2132eb9bbaeeaf67b542b1e7a0a2a280fd1be716ded1dcbac1a83e918cf60a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.2 CPython/3.9.13 Linux/5.10.0-19-amd64
|