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 hashes)

Uploaded Source

Built Distribution

wappstorest-0.1.0-py3-none-any.whl (359.9 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