{"id":37675730,"url":"https://github.com/strigo/pystrigo","last_synced_at":"2026-01-16T12:13:42.537Z","repository":{"id":51369276,"uuid":"184628686","full_name":"strigo/pystrigo","owner":"strigo","description":"Strigo's not-yet-official-but-maybe-soon-will-be Python REST client and CLI","archived":false,"fork":false,"pushed_at":"2021-07-22T19:44:54.000Z","size":26,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2023-03-02T18:56:01.015Z","etag":null,"topics":["cli","client","python3","rest-api","rest-client","strigo"],"latest_commit_sha":null,"homepage":"https://docs.strigo.io/api/reference","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/strigo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2019-05-02T18:09:55.000Z","updated_at":"2022-03-17T22:09:38.000Z","dependencies_parsed_at":"2022-08-25T12:41:39.325Z","dependency_job_id":null,"html_url":"https://github.com/strigo/pystrigo","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/strigo/pystrigo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strigo%2Fpystrigo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strigo%2Fpystrigo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strigo%2Fpystrigo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strigo%2Fpystrigo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/strigo","download_url":"https://codeload.github.com/strigo/pystrigo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strigo%2Fpystrigo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478519,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","client","python3","rest-api","rest-client","strigo"],"created_at":"2026-01-16T12:13:41.760Z","updated_at":"2026-01-16T12:13:42.526Z","avatar_url":"https://github.com/strigo.png","language":"Python","readme":"# pystrigo\n\n**This is WIP**. Please do not consider this to be production ready.\n\n`pystrigo` is Strigo's official Python REST API client and CLI. It allows to easily retrieve information from Strigo's REST API and to automate processes.\n\nVisit [Strigo's REST API Reference](http://docs.strigo.io/api/reference) from more information on the API and on retrieving your `ORG_ID` and `API_KEY`.\n\n\n## Installation\n\n`pystrigo` supports Linux, Windows and OSX on Python 3.4+\n\n```shell\ngit clone git@github.com:strigo/pystrigo.git\ncd pystrigo\npip install .\n```\n\nTo install the CLI run:\n\n```shell\npip install .[cli]\n```\n\n\n## Usage\n\n### Python\n\n```python\nfrom strigo import Strigo\nfrom strigo.logger import log\n\n\nORG_ID = os.getenv('STRIGO_ORG_ID')\nAPI_KEY = os.getenv('STRIGO_API_KEY')\nSTRIGO_API_ENDPOINT = 'https://app.strigo.io/api/v1'\n\n# To have the logger log both requests and responses to the console\nlog.set_level('debug')\n\nstrigo = Strigo(org_id=ORG_ID, api_key=API_KEY, endpoint=STRIGO_API_ENDPOINT)\n\nstrigo.classes.get(class_id='DsAnDSjmPe2wnCRw2')\n# \u003e\u003e GET /classes/DsAnDSjmPe2wnCRw2...\n# \u003e\u003e GET /classes/DsAnDSjmPe2wnCRw2 response\n# \u003e\u003e   status_code=200\n# \u003e\u003e   data={\n# \u003e\u003e     \"result\": \"success\",\n# \u003e\u003e     \"data\": {\n# \u003e\u003e         \"id\": \"DsAnDSjmPe2wnCRw2\",\n# \u003e\u003e         \"name\": \"Coding\",\n# \u003e\u003e         \"owner\": {\n# \u003e\u003e             \"id\": \"rMWNrMT2PCySh2PGo\",\n# \u003e\u003e             \"email\": \"nir+1@strigo.io\"\n# \u003e\u003e         },\n# \u003e\u003e         \"resources\": [\n# \u003e\u003e             {\n# \u003e\u003e                 \"type\": \"lab_instance\",\n# \u003e\u003e                 \"id\": \"oqgcyawx6PXsu4r43\",\n# \u003e\u003e                 \"name\": \"Lab\",\n# \u003e\u003e                 \"instance_type\": \"t2.large\",\n# \u003e\u003e                 \"image_id\": \"ami-614dcd0e\",\n# \u003e\u003e                 \"image_user\": \"ubuntu\",\n# \u003e\u003e                 \"is_custom_image\": false\n# \u003e\u003e             }\n# \u003e\u003e         ],\n# \u003e\u003e         \"presentation_notes\": [],\n# \u003e\u003e         \"created_at\": \"2019-04-11T21:51:49.274Z\"\n# \u003e\u003e     }\n# \u003e\u003e }\n\nresponse = client.events.post({\n    'class_id': 'DsAnDSjmPe2wnCRw2',\n    'name': 'My Event',\n    'owner': 'nir+1@strigo.io',\n    'date_start': '2019-08-01 00:00:00.000Z',\n    'date_end': '2019-08-01 01:00:00.000Z'\n})\nassert response.status_code == 200\nevent_id = response.data['id']\n...\n\n```\n\n### CLI\n\n`pystrigo` exposes a CLI called `siesta` (Rest. Get it? :))\n\nThis CLI is supposed to provide a reasonable abstraction on top of the client, just so that it's easier to perform actions without having to write code. It is not optimized as a standard CLI in itself.\n\n```shell\n\n$ siesta --help\nUsage: siesta [OPTIONS] METHOD ENDPOINT [ARGUMENTS]...\n\nOptions:\n  --help  Show this message and exit.\n\nexport STRIGO_ORG_ID=\"YOUR_ORG_ID\"  # Org admins can see in settings\nexport STRIGO_API_KEY=\"YOUR_API_KEY\"  # Org admins can see in settings\nexport STRIGO_API_ENDPOINT=\"https://app.strigo.io/api/v1\"\n\n# e.g.\n$ siesta GET classes :class_id=\"DsAnDSjmPe2wnCRw2\"\n...\n\n$ siesta POST events \\\n    class_id=\"DsAnDSjmPe2wnCRw2\" \\\n    name=\"My Event\" \\\n    owner=\"nir+1@strigo.io\" \\\n    date_start=\"2019-08-01 00:00:00.000Z\" \\\n    date_end=\"2019-08-01 01:00:00.000Z\"\n...\n```\n\n# Contributions\n\nAny contribution is appreciated. We'd like to add tests, pytype validations, an official pypi deployment, and API documentation.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrigo%2Fpystrigo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrigo%2Fpystrigo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrigo%2Fpystrigo/lists"}