Metadata-Version: 2.1
Name: omnia-timeseries-sdk
Version: 0.2.0
Summary: Python software developer kit for the Omnia Timeseries API.
Home-page: https://github.com/equinor/omnia-timeseries-sdk-python
Author: Per Voie
License: MIT
Description: # OMNIA Timeseries SDK for Python
        
        Python software developer kit for the Omnia Timeseries API.
        
        ## General
        
        ### About
        
        This is the Python SDK for developers and data scientists working with Omnia Timeseries. The package integrates with 
        pandas to help you work easily and efficiently with the data.
        
        ### Getting started
        
        Run the below command in a Python environment to install the latest release
        
        ```console
        pip install omnia_timeseries_sdk
        ```
        
        .. or upgrade existing installation
        
        ```console
        pip install --upgrade omnia_timeseries_sdk
        ```
        
        Import the Omnia client in your own scripts...
        
        ```python
        from omnia_timeseries_sdk import OmniaClient
        ```
        
        ... and get to work. [Here](https://github.com/equinor/omnia-timeseries-sdk-python/blob/master/examples/introduction.ipynb) 
        is an introduction. 
        
        ### Authentication
        
        The SDK supports [authentication by user impersonation and using a shared secret](https://github.com/equinor/OmniaPlant/wiki/Authentication-&-Authorization#authenticating-by-user-impersonation-without-any-shared-secret-for-people-with-equinor-accounts)
        
        When accessing Omnia from a service with a shared client secret you must set the following environmental variables. The 
        values are provided by the Omnia administrators.
        ```console
        set omniaResourceId="omnia-resource-id"
        set omniaClientId="your-client-id"
        set omniaClientSecret="very-very-secret-shared-key"
        ```
        Take a look at the resources listed below to learn more.
        
        ### Resources
        
        * [**Source**](https://github.com/equinor/omnia-timeseries-sdk-python)
        * [**Issues**](https://github.com/equinor/omnia-timeseries-sdk-python/issues)
        * [**Changelog**](https://github.com/equinor/omnia-timeseries-sdk-python/releases)
        * [**Documentation**](https://github.com/equinor/omnia-timeseries-sdk-python/blob/master/README.md)
        * [**Download**](https://pypi.org/project/omnia-timeseries-sdk/)
        * [**Examples**](https://github.com/equinor/omnia-timeseries-sdk-python/blob/master/examples/)
        
        ## Contribute
        
        These instructions will get you a copy of the project up and running on your local machine for development and testing
        purposes. See deployment for notes on how to deploy the project on a live system.
        
        ### Prerequisites
        
        Install Python version 3.7 or later from either https://www.python.org or https://www.anaconda.com.
        
        ### Clone the source code repository
        
        At the desired location, run:
        
        ```git clone https://github.com/equinor/omnia-timeseries-sdk-python.git```
        
        ### Installing
        
        To get the development environment running:
        
        ... create an isolated Python environment and activate it,
        
        ```console
        python -m venv /path/to/new/virtual/environment
        
        /path/to/new/virtual/environment/Scripts/activate
        ```
        
        ... install the dev dependencies in [requirements.txt](requirements.txt),
        
        ```console
        pip install -r requirements.txt
        ```
        
        .. and install the package in development mode.
        
        ```console
        python setup.py develop
        ```
        
        You should now be able to import the package in the Python console,
        
        ```python
        import omnia_timeseries_sdk
        help(omnia_timeseries_sdk)
        ```
        
        ### Running the tests
        
        We apply the [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) and 
        [pyteset](https://docs.pytest.org/en/latest/contents.html) frameworks.
        
        Run the tests and check test coverage by
        ```console
        pytest --cov=omnia_timeseries_sdk --cov-report term-missing tests/
        ```
        
        ### Building the package
        
        Build tarball and wheel distributions by:
        
        ```console
        python setup.py sdist bdist_wheel
        ```
        
        The distribution file names adhere to the [PEP 0427](https://www.python.org/dev/peps/pep-0427/#file-name-convention)
        convention `{distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl`.
        
        <!---
        ### Building the documentation
        
        The html documentation is build using [Sphinx](http://www.sphinx-doc.org/en/master)
        
        ```console
        sphinx-build -b html docs\source docs\_build
        ```
        --->
        
        ### Deployment
        
        The package [releases](https://github.com/equinor/omnia-timeseries-sdk-python/releases) are deployed 
        to [PyPi](https://pypi.org/project/omnia-timeseries-sdk/).
        
        We use GitHub Actions to automate the build and deployment (CI-CD).
        
        ### Versioning
        
        We apply the "major.minor.micro" versioning scheme defined in [PEP 440](https://www.python.org/dev/peps/pep-0440/).
        
        We cut a new version by applying a Git tag like `0.1.0` at the desired commit and then
        [setuptools_scm](https://github.com/pypa/setuptools_scm/#setup-py-usage) takes care of the rest at build time.
        See the [tags on this repository](https://github.com/equinor/omnia-timeseries-sdk-python/tags).
        
        ## Authors
        
        * **Per Voie** - [tovop](https://github.com/tovop)
        
        ## License
        
        This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
        
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: ~=3.7
Description-Content-Type: text/markdown
