Skip to main content

Python library for the Open Smart Charging Protocol (OSCP)

Project description

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.

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

pyoscp-0.1.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

pyoscp-0.1.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file pyoscp-0.1.0.tar.gz.

File metadata

  • Download URL: pyoscp-0.1.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.9.13 Linux/5.10.0-19-amd64

File hashes

Hashes for pyoscp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6a57a0baaf453a07cef8288d5a0f79839a443cf86afa85c26262d31de82ddd49
MD5 0963600edc504def2532a458243691a3
BLAKE2b-256 e84ca1949dfccff784eb34a06f268183803840231a22ac3bb3d45fdb6e242838

See more details on using hashes here.

File details

Details for the file pyoscp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyoscp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.9.13 Linux/5.10.0-19-amd64

File hashes

Hashes for pyoscp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d4a4b241bee194c813674d602d1bc003c6dbd84c960a2c2b0153b05421bb4b58
MD5 24132e8e8c0724b42f34332a05a5c98b
BLAKE2b-256 cb2132eb9bbaeeaf67b542b1e7a0a2a280fd1be716ded1dcbac1a83e918cf60a

See more details on using hashes here.

Supported by

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