https://github.com/rbw/aiosnow
Asynchronous ServiceNow Library
https://github.com/rbw/aiosnow
Last synced: 3 months ago
JSON representation
Asynchronous ServiceNow Library
- Host: GitHub
- URL: https://github.com/rbw/aiosnow
- Owner: rbw
- License: mit
- Created: 2019-11-08T23:58:09.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-04-17T17:32:38.000Z (about 3 years ago)
- Last Synced: 2026-01-14T12:26:39.535Z (5 months ago)
- Language: Python
- Homepage:
- Size: 599 KB
- Stars: 74
- Watchers: 7
- Forks: 13
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# aiosnow: Asynchronous Python ServiceNow Library
[](https://pypi.org/project/aiosnow)
[](https://pypi.org/project/aiosnow)
[](https://travis-ci.org/rbw/aiosnow)
[](https://raw.githubusercontent.com/rbw/aiosnow/master/LICENSE)
[](https://pepy.tech/project/snow)
**aiosnow** is a Python [asyncio](https://docs.python.org/3/library/asyncio.html) library for interacting with ServiceNow programmatically. It hopes to be:
- Convenient: A good deal of work is put into making the library flexible and easy to use.
- Performant: Uses non-blocking I/O to allow large amounts of API request tasks to run concurrently while being friendly on system resources.
- Modular: Core functionality is componentized into modules that are built with composability and extensibility in mind.
*Example code*
```python
import asyncio
import aiosnow
from aiosnow.models.table.declared import IncidentModel as Incident
async def main():
client = aiosnow.Client(".service-now.com", basic_auth=("", ""))
async with Incident(client, table_name="incident") as inc:
query = aiosnow.select(
Incident.priority.less_or_equals(2) & Incident.urgency.less_or_equals(2)
).order_asc(Incident.priority)
for response in await inc.get(query, limit=5):
print("Attaching [readme.txt] to {number} ({sys_id})".format(**response))
await inc.upload_file(response["sys_id"], path="./readme.txt")
asyncio.run(main())
```
Check out the [examples directory](examples) for more material.
### Documentation
API reference and more is available in the [technical documentation](https://aiosnow.readthedocs.io/en/latest).
### Development status
Beta: Core functionality is done and API breakage unlikely to happen.
### Contributing
Check out the [contributing guidelines](CONTRIBUTING.md) if you want to help out with code or documentation.
### Author
Robert Wikman \