Skip to main content

Python package to consume SPEC SA and third-party apps

Project description

SPEC Utils

SPEC-Utils is a set of connectors to consume Grupo SPEC and third-party applications from Python.

SPEC-Utils is used by Grupo SPEC within netSync, but it can be used by anyone in their integration projects -or any other purpose that they want :sunglasses: -.

Why use SPEC-Utils?

  • :zap: Fast to code: Increase the speed to develop integrations features by about 200% to 300%. *
  • :x: Fewer bugs: Reduce about 40% of human (developer) induced errors. *
  • :bulb: Intuitive: Great editor support. Completion everywhere. Less time debugging.
  • :nerd_face: Easy: Designed to be easy to use and learn. Less time reading docs.
  • :part_alternation_mark: Short: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.

* Estimation based on tests on an internal development team, building production applications.

For more info and help, visit the SPEC-Utils Repository and SPEC-Utils Documentation

Requirements

Python 3.8+

SPEC-Utils stands on shoulders of:

  • requests: For the synchronous HTTP requests.
  • aiohttp: For the asynchronous HTTP requests.
  • pandas: For the database features.
  • SQLAlchemy: For the database connections.
  • pydantic: For the data parts.

Install

Can use:

pip install spec-utils

Or:

python -m pip install spec-utils

Example

Net-Time

Import module

from spec_utils import nettime6 as nt6

Client settings

URL = '<your-nettime-url>'
USERNAME = '<your-username>'
PWD = '<your-password>'

Using client

with nt6.Client(url=URL, username=USERNAME, pwd=PWD) as client:
    print(client.get_employees())
See out...
{
  'total': 2,
  'items': [{'id': 1, 'nif': '123789456'}, {'id': 2, 'nif': '987321654'}
]}

Using async client

async with nt6.AsyncClient(url=URL, username=USERNAME, pwd=PWD) as client:
    print(await client.get_employees())
See out...
{
  'total': 2,
  'items': [{'id': 1, 'nif': '123789456'}, {'id': 2, 'nif': '987321654'}
]}

Async coverage

Module Async support Index name
nettime6 :heavy_check_mark: NT6AsyncClient
specmanagerapi :heavy_check_mark: SMAPIAsyncClient
visma :heavy_check_mark: VismaAsyncClient
certronic :heavy_check_mark: CertronicAsyncClient
wdms :x: WDMSClient
exactian :x: :x:
specmanagerdb :x: :x:

License

This project is licensed under the terms of the GNU GPLv3 license.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spec_utils-0.30.12.tar.gz (41.2 kB view hashes)

Uploaded Source

Built Distribution

spec_utils-0.30.12-py3-none-any.whl (73.3 kB view hashes)

Uploaded Python 3

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