Metadata-Version: 2.1
Name: CSGVulcan
Version: 0.3.2
Summary: A tiny library for describing data as a resource
Home-page: UNKNOWN
Author: CSG Data Science
Author-email: csgdatascience01@gmail.com
License: MIT
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.
        
        ```shell
        pip install CSGVulcan
        ```
        
        ```python
        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)
        # VulcanAPI.run is a proxy for Flask.run, therefore accepts the same arguments
        my_new_resource_api.run(port=8080, debug=True)
        ```
        
        CSGVulcan will then spin up a Flask Web Server at 127.0.0.1:8080
        with the following routes available for consumption.
        
        - /api/ping
        - /api/fetch-one
        - /api/fetch-all
        
        ### For more detailed examples please see the _examples_ directory
        
        ## Developing
        
        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.
        
        ```shell
        python -m venv venv
        ```
        
        ```shell
        source ./venv/bin/activate
        ```
        
        Pip install the depdencies
        
        ```shell
        pip install -r requirements.txt
        ```
        
        ## Features
        
        - Provides a simple and consistent interface for describing data from external resources.
        - Once defined, your VulcanResource is then easily converted into a REST API.
        
        ## Contributing
        
        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.
        
        ### Styleguide
        
        Vulcan is written using autopep8 and pylint, it is recommended to leverage those to allow
        for consistent styling of source code.
        
        ## Links
        
        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.
        
        - [Flask](http://flask.pocoo.org/)
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Framework :: Flask
Classifier: Framework :: Setuptools Plugin
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Utilities
Classifier: Development Status :: 1 - Planning
Description-Content-Type: text/markdown
