Skip to main content

A tiny library for describing data as a resource

Project description

DS Platform :: Vulcan

A tiny python library for expressing data as a resource.

Installing / Getting started

A quick introduction of the minimal setup you need to get a hello world up & running.

pip install CSGVulcan
from CSGVulcan import VulcanResource, VulcanAPI

class MyNewResource(VulcanResource):
    def __init__(self, resource, name=__file__):
        self.super().__init__(resource, name=name)

    def init(self, _context):
        return "Init"

    def  fetch_one(self, _context):
        return "Fetch One"

    def fetch_all(self, _context):
        return "Fetch All"

my_new_resource = MyNewResource()
my_new_resource_api = VulcanAPI(resource=my_new_resource)
# is a proxy for, therefore accepts the same arguments, debug=True)

CSGVulcan will then spin up a Flask Web Server at with the following routes available for consumption.

  • /api/ping
  • /api/fetch-one
  • /api/fetch-all

For more detailed examples please see the examples directory


If you're interested in developing and contributing to Vulcan, first, clone this project from Github. Secondly, set up your local environemnt for develpment. It is recommended to create a python virtual environment to manage your dependencies, here is how to do that.

Create and activate your virtualenv.

python -m venv venv
source ./venv/bin/activate

Pip install the depdencies

pip install -r requirements.txt


  • Provides a simple and consistent interface for describing data from external resources.
  • Once defined, your VulcanResource is then easily converted into a REST API.


If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcomed.

Vulcan is a tool designed to serve others, so any and all feedback is expected and encouraged. We aim to create a better pattern for accessing data, if you have ideas, contribute them.


Vulcan is written using autopep8 and pylint, it is recommended to leverage those to allow for consistent styling of source code.


Though not exhaustive, here is a list of useful links that may help in developing an understanding of Vulcan and what it is comprised of.

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

CSGVulcan-0.3.1.tar.gz (6.1 kB view hashes)

Uploaded source

Built Distribution

CSGVulcan-0.3.1-py3-none-any.whl (6.5 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page