snow: Python asyncio library for ServiceNow
Snow is a simple and lightweight yet powerful and extensible library for interacting with ServiceNow. It works with modern versions of Python, utilizes asyncio and can be used for simple scripting as well as for building high-concurrency backend applications on top of the ServiceNow platform. Also, its API is fully type annotated and documented.
Example code
import asyncio
from snow import Snow
from snow.schemas.table import IncidentSchema as Incident
app = Snow("<instance>.service-now.com", basic_auth=("<username>", "<password>"))
async def main():
# Make a TableModel object from the built-in Incident schema
async with app.get_table(Incident) as inc:
# Get high-priority incidents
for response in await inc.get(Incident.priority <= 3, limit=5):
print(f"Number: {response['number']}, Priority: {response['priority'].text}")
asyncio.run(main())
Check out the examples directory for more examples.
Documentation
The Snow API reference and more is available in the documentation.
Funding
The Snow code is permissively licensed, and can be incorporated into any type of application–commercial or otherwise–without costs or limitations. Its author believes it's in the commercial best-interest for users of the project to invest in its ongoing development.
Consider leaving a donation if you like this software, it will:
- Directly contribute to faster releases, more features, and higher quality software.
- Allow more time to be invested in documentation, issue triage, and community support.
- Safeguard the future development of Snow.
Development status
The fundamental components (models, client code, error handling, documentation, etc) of the library is considered complete. However, automatic testing and real-world use is somewhat lacking, i.e. there are most likely bugs lurking about, and the software should be considered Alpha, shortly Beta.
Contributing
Check out the contributing guidelines if you want to help out with code or documentation.
Author
Robert Wikman <rbw@vault13.org>
Metadata
Release files for snow 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| snow-0.3.1.tar.gz | 22.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| snow-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.9 kB
Release files / snow-0.3.1.tar.gz
| Download URL | snow-0.3.1.tar.gz |
|---|---|
| Size | 22.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a971a85188b370c7b1cc455907b88ac144683b9ac1ea03d45636d9623639fd47
|
|
BLAKE2b-256 checksum How to use checksums |
9061cbbfa0f3942de97473507ffa9c33fc574a1db7668eb733747c22679c2dad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.5 CPython/3.8.2 Linux/5.3.0-55-generic
|
Release files / snow-0.3.1-py3-none-any.whl
| Download URL | snow-0.3.1-py3-none-any.whl |
|---|---|
| Size | 33.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c69582cae790b190d97135ee12120793620e2280130035f36bca1f2a741575c
|
|
BLAKE2b-256 checksum How to use checksums |
c3e90dc15d69e70ceac34b5490f7ac2fa4814522feff4078419c6da6889026c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.5 CPython/3.8.2 Linux/5.3.0-55-generic
|