Skip to main content

Simple Wappsto Python user-interface to Wappsto Rest

Project description

python-wappsto-rest

Usecase Examples:

import uuid
from wappstorest import WappstoRest
from wappstorest import WappstoService

wrest = WappstoRest()
wrest.login(
    username='the_user',
    password='SuperSecurePasswordThatYouDoNotRemember'
)


the_network = wrest.service(WappstoService.NETWORK).service_id(
    uuid.uuid4()
).read()

print(the_network.name)
print(the_network.meta.id)


wrest.logout()
from wappstorest import WappstoRest
from wappstorest import WappstoService
from wappstorest import WappstoPath
from wappstorest import WappstoSchema

wrest = WappstoRest()
wrest.login(
    username='the_user',
    password='SuperSecurePasswordThatYouDoNotRemember'
)


# Is this even possible?
device_list: WappstoSchema.response.IdList = wrest.service(
    WappstoService.DEVICE
).filter(
    WappstoPath.Device.meta.parent.name == "Production"
).read()

# Create a new device under an existing network
the_device: WappstoSchema.response.Device = wrest.service(
    WappstoService.DEVICE
).parent(
    parent_id=UUID("7b0cd39d-aa9a-487e-943e-e19b420e3396"),
    parent_service=WappstoService.NETWORK
).create(
    WappstoSchema.create.Device(
        name='button'
    )
)

wrest.logout()
import datetime

from wappstorest import WappstoRest
from wappstorest import WappstoService
from wappstorest import WappstoPath
from wappstorest import WappstoSchema

wrest = WappstoRest()
wrest.login(
    username='the_user',
    password='SuperSecurePasswordThatYouDoNotRemember',
    admin=True,
)

user_list: list[WappstoSchema.response.User] = wrest.service(
    WappstoService.USER
).filter(
    WappstoPath.User.meta.created < datetime.datetime.now()
).filter(
    "this.user.name~=test_"
).option(
    fullsearch=True,
).admin().read(expand=3)


wrest.logout()

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Notes:

  • update schema -> patch
  • create schema -> post
  • output schema -> response on anything.
  • query schema -> Options

Known Bugs

...

TODO List

Schema

  • Fix constr, conint ... to Field: Pydantic Schema.
  • There need to be a Create Schema & response schema (output).

Code base

  • Add more/better logging logs.
  • Push to pip.

Tests

  • Add more test to get a 100%-ish testing coverage.

v0.0.1 (Febuary 21, 2023)

Added

  • First Release.

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

wappstorest-0.1.0.tar.gz (93.2 kB view details)

Uploaded Source

Built Distribution

wappstorest-0.1.0-py3-none-any.whl (359.9 kB view details)

Uploaded Python 3

File details

Details for the file wappstorest-0.1.0.tar.gz.

File metadata

  • Download URL: wappstorest-0.1.0.tar.gz
  • Upload date:
  • Size: 93.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for wappstorest-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ce9ea2de364d60a189f8a9e45a1f8eba4a780616aa912a656885d29a4b7beb34
MD5 e20c27b0cfc0300821ceb2e39d837e79
BLAKE2b-256 0f15a844101aa454237ea803b7dec63025ea15a61eee8e663dd8307f19a57171

See more details on using hashes here.

File details

Details for the file wappstorest-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: wappstorest-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 359.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for wappstorest-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d6b08e6b8ea207161091fa2207e896223a785e65bc4795f9fff8be85b29de23
MD5 05373a8b6539487c38f0cb31de938696
BLAKE2b-256 15ba0e2b9d2327043638484d4800582b0b8539e2d350566c48491c82fc90e21a

See more details on using hashes here.

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