Skip to main content

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)

Source distribution for pyoscp 0.1.0
File Size Uploaded
pyoscp-0.1.0.tar.gz 13.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyoscp 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page