Skip to main content

RouterOS v7 REST API python module

Project description

RosRestPy

PyPi Package Version Supported Python versions LICENSE

Mikrotik's RouterOS v7 REST API python module

RouterOS v7 REST API Support

Check Here for API Support.

Not all types and methods of the RouterOS v7 REST API are supported, yet. Finding any bugs? Please Create Issue

Installing

You can install or upgrade rosrestpy with:

pip install rosrestpy --upgrade

Example

from ros import Ros

# Initiate Ros object
ros = Ros("https://192.168.88.1/", "admin", "")


# Check cpu load
if ros.system.resource.cpu_load > 90:
    print(f"{ros.system.identity}'s CPU > 90%")

# Print all interface name
for interface in ros.interface():
    print(interface.name)

# Finding specific queue
queues = ros.queue.simple(name="Hotspot")
if len(queues) == 1:
    queue = queues[0]
    print(f"Usage {queue.bytes}")

# Adding new /simple/queue
from ros.queue import SimpleQueue
new_queue = SimpleQueue(name="Test", target="192.168.88.0/24", max_limit="10M/10M", disabled=True)
new_queue = ros.queue.simple.add(new_queue)
print(new_queue)

# Updating /simple/queue
test_queue = ros.queue.simple(name="Test")[0]
new_test_queue = ros.queue.simple.set(test_queue, {"comment": "Test comment"})
print(new_test_queue)

# Using /tool/bandwith-test
bw_tests = ros.tool.bandwith_test("172.16.0.1", "3s", "admin", direction="both")
result_bw_test = bw_tests[-1]
print(f"Download {result_bw_test.rx_total_average}")
print(f"Upload {result_bw_test.tx_total_average}")

Resources

The RouterOS REST API is the technical reference for rosrestpy.

Contributing

Contributions of all sizes are welcome. Please review our contribution guidelines to get started. You can also help by reporting bugs or feature requests.

Open Source Notice

Big thanks to attrs and cattrs as the bases of rosrestpy, without them this module creation would be very tedious!

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

rosrestpy-0.12.1.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rosrestpy-0.12.1-py3-none-any.whl (74.6 kB view details)

Uploaded Python 3

File details

Details for the file rosrestpy-0.12.1.tar.gz.

File metadata

  • Download URL: rosrestpy-0.12.1.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.8.18 Linux/6.5.0-1023-azure

File hashes

Hashes for rosrestpy-0.12.1.tar.gz
Algorithm Hash digest
SHA256 70f21e795d393e8de4252b08d8cac7fad02e69aa95a9a35af9f179cb8d5e7e6a
MD5 49891db01e1b581290b472460e4e6f23
BLAKE2b-256 54d80ce2ff6ce49d61d7992a283f7a1fcc85ada68e90d82aca46378a7c1e6444

See more details on using hashes here.

File details

Details for the file rosrestpy-0.12.1-py3-none-any.whl.

File metadata

  • Download URL: rosrestpy-0.12.1-py3-none-any.whl
  • Upload date:
  • Size: 74.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.8.18 Linux/6.5.0-1023-azure

File hashes

Hashes for rosrestpy-0.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ee3b44f389ee9004ee7aa0efaad213d3e7b065a81d781c1c71b6458e74b040f0
MD5 95c12377d8bd2f21053cee46456f26cc
BLAKE2b-256 6566702bb96aa8385b454a9e7c508e9034997b45b74414ad44077c11da01dccd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page