pywrapid


Namepywrapid JSON
Version 0.3.1 PyPI version JSON
download
home_page
SummaryCollection of wrapper libraries for rapid development of python applications
upload_time2023-12-11 14:54:51
maintainer
docs_urlNone
author
requires_python>=3.6
licenseMIT License Copyright (c) 2022 NSAHQ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords web client requests config yaml config wrapper
VCS
bugtrack_url
requirements requests pyyaml pyjwt
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ********
pywrapid
********

.. image:: https://readthedocs.org/projects/pywrapid/badge/?version=latest
    :target: https://pywrapid.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status


This library is created to wrap other popular libraries and extend their functionalities
for rapid development of python applications.
Includes configuration management compatible with all other modules provided in pywrapid.

Extend functionality as you wish by wrapping the modules and/or inheriting the classes.

Features
========

pywrapid.config
---------------

Config classes that can be used through out the various pywrapid modules or as a stand alone config management util.
Currently only yaml configs is supported, with more file types in the roadmap. (Feel free to contribute with additional sypport.)

We intend to at least support the following file types:
    - YAML
    - TOML*
    - INI*
    - JSON*
    - KeyValue*

(* Not implemented yet but planned)

Two general config classes is provided: ApplicationConfig and ConfigSubSection
Both inherits the WrapidConfig class and exposes the configuration data as a dict under the "cfg" propery.

The ApplicationConfig class can be used to explore config location for default config location and common config location for Mac, Linux and Windows.

The exploration functionality can be used standalone using ApplicationConfig.application_config_location().

Simplicity is king and you can therefore use parts as you wish, or adopt wrapid config concept as a whole.

Dependencies
------------

    - PyYAML

### pywrapid.webclient
Extends the well known requests library.
Principle behind the web client is to give you one base that can be used in the same manner regardless of the mix and match between Authorization and Authentication methods used by the API/website.
If a new version of the API your client consumes comes out with a different authentication method, you should only have to instanciate a different class to match the API and have it work again.

Gives you a generic web client class you can use as a base for your client creations.

Credential types:

    - No authentication
    - Basic Auth
    - x509

Authorization types:

    - NONE
    - BASIC
    - BEARER
    - JWT
    - OAUTH2

pywrapid.log
============

Helper functions for setting up and controlling the defacto standard logging framework "logging".

Allows you to easily configure logging handlers (currently only console and file) on a per module basis.

Gives your application a similar configuration principle to djangos log management, where you can control logging for each import or derived modules.
You can specify different log level or formats per module and per handler.
Propagation to parent will not take place for modules you specify, giving you the control, while also being able to capture undefined child loggers.


See documentation for more information.

Dependencies
------------

    - pyjwt

Exceptions
----------

Each sub library comes with pywrapid exceptions.
The exceptions will normalize multiple wrapped libraries/tools and extend with additional generic exceptions.


Dependencies
============

    - pyyaml
    - requests
    - pyjwt

Needed softwares
================

    - python3.x

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "pywrapid",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "Jonas Werme <jonas.werme@nsahq.se>, Marcus Wallgren <marcus.wallgren@nsahq.se>",
    "keywords": "web client,requests,config,yaml config,wrapper",
    "author": "",
    "author_email": "Jonas Werme <jonas.werme@nsahq.se>, Marcus Wallgren <marcus.wallgren@nsahq.se>",
    "download_url": "https://files.pythonhosted.org/packages/aa/34/d0e8814554eef258d440a65c4a91c01eed96e61863dbb077664ad030f2bf/pywrapid-0.3.1.tar.gz",
    "platform": null,
    "description": "********\npywrapid\n********\n\n.. image:: https://readthedocs.org/projects/pywrapid/badge/?version=latest\n    :target: https://pywrapid.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\n\nThis library is created to wrap other popular libraries and extend their functionalities\nfor rapid development of python applications.\nIncludes configuration management compatible with all other modules provided in pywrapid.\n\nExtend functionality as you wish by wrapping the modules and/or inheriting the classes.\n\nFeatures\n========\n\npywrapid.config\n---------------\n\nConfig classes that can be used through out the various pywrapid modules or as a stand alone config management util.\nCurrently only yaml configs is supported, with more file types in the roadmap. (Feel free to contribute with additional sypport.)\n\nWe intend to at least support the following file types:\n    - YAML\n    - TOML*\n    - INI*\n    - JSON*\n    - KeyValue*\n\n(* Not implemented yet but planned)\n\nTwo general config classes is provided: ApplicationConfig and ConfigSubSection\nBoth inherits the WrapidConfig class and exposes the configuration data as a dict under the \"cfg\" propery.\n\nThe ApplicationConfig class can be used to explore config location for default config location and common config location for Mac, Linux and Windows.\n\nThe exploration functionality can be used standalone using ApplicationConfig.application_config_location().\n\nSimplicity is king and you can therefore use parts as you wish, or adopt wrapid config concept as a whole.\n\nDependencies\n------------\n\n    - PyYAML\n\n### pywrapid.webclient\nExtends the well known requests library.\nPrinciple behind the web client is to give you one base that can be used in the same manner regardless of the mix and match between Authorization and Authentication methods used by the API/website.\nIf a new version of the API your client consumes comes out with a different authentication method, you should only have to instanciate a different class to match the API and have it work again.\n\nGives you a generic web client class you can use as a base for your client creations.\n\nCredential types:\n\n    - No authentication\n    - Basic Auth\n    - x509\n\nAuthorization types:\n\n    - NONE\n    - BASIC\n    - BEARER\n    - JWT\n    - OAUTH2\n\npywrapid.log\n============\n\nHelper functions for setting up and controlling the defacto standard logging framework \"logging\".\n\nAllows you to easily configure logging handlers (currently only console and file) on a per module basis.\n\nGives your application a similar configuration principle to djangos log management, where you can control logging for each import or derived modules.\nYou can specify different log level or formats per module and per handler.\nPropagation to parent will not take place for modules you specify, giving you the control, while also being able to capture undefined child loggers.\n\n\nSee documentation for more information.\n\nDependencies\n------------\n\n    - pyjwt\n\nExceptions\n----------\n\nEach sub library comes with pywrapid exceptions.\nThe exceptions will normalize multiple wrapped libraries/tools and extend with additional generic exceptions.\n\n\nDependencies\n============\n\n    - pyyaml\n    - requests\n    - pyjwt\n\nNeeded softwares\n================\n\n    - python3.x\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2022 NSAHQ  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Collection of wrapper libraries for rapid development of python applications",
    "version": "0.3.1",
    "project_urls": {
        "changelog": "https://github.com/nsahq/pywrapid",
        "documentation": "https://pywrapid.readthedocs.io/en/latest/",
        "homepage": "https://github.com/nsahq",
        "repository": "https://github.com/nsahq/pywrapid"
    },
    "split_keywords": [
        "web client",
        "requests",
        "config",
        "yaml config",
        "wrapper"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4eb9500e3df9d7ad137f27937b5153673c14f68cb9a43b084d8275e0365c460",
                "md5": "e01b6c004edcb7e7da0a9a398764138b",
                "sha256": "1ab81f6f2f6b84bff331e3ac4c5775eb14815d41b766ff13569f26bc2ba741ee"
            },
            "downloads": -1,
            "filename": "pywrapid-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e01b6c004edcb7e7da0a9a398764138b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 22074,
            "upload_time": "2023-12-11T14:54:50",
            "upload_time_iso_8601": "2023-12-11T14:54:50.384675Z",
            "url": "https://files.pythonhosted.org/packages/a4/eb/9500e3df9d7ad137f27937b5153673c14f68cb9a43b084d8275e0365c460/pywrapid-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aa34d0e8814554eef258d440a65c4a91c01eed96e61863dbb077664ad030f2bf",
                "md5": "0da0f22efd7279e5540c8dcaf70ad06b",
                "sha256": "7afcbd21c64001ddfa4772c953d99240cd137019f442f9ce01a5347b6512311a"
            },
            "downloads": -1,
            "filename": "pywrapid-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "0da0f22efd7279e5540c8dcaf70ad06b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 38908,
            "upload_time": "2023-12-11T14:54:51",
            "upload_time_iso_8601": "2023-12-11T14:54:51.698785Z",
            "url": "https://files.pythonhosted.org/packages/aa/34/d0e8814554eef258d440a65c4a91c01eed96e61863dbb077664ad030f2bf/pywrapid-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-11 14:54:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nsahq",
    "github_project": "pywrapid",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "pyyaml",
            "specs": []
        },
        {
            "name": "pyjwt",
            "specs": []
        }
    ],
    "tox": true,
    "lcname": "pywrapid"
}
        
Elapsed time: 0.15772s