{"id":23250577,"url":"https://github.com/arlula/python-core-sdk","last_synced_at":"2025-08-10T03:37:51.095Z","repository":{"id":41382398,"uuid":"333616062","full_name":"Arlula/python-core-sdk","owner":"Arlula","description":"A package to facilitate access to the Arlula Imagery Marketplace API","archived":false,"fork":false,"pushed_at":"2024-09-02T05:59:51.000Z","size":172,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-29T20:20:00.854Z","etag":null,"topics":["api","python","python-package","python-packages","python3","satellite","satellite-data","satellite-imagery","satellite-images"],"latest_commit_sha":null,"homepage":"https://www.arlula.com/documentation","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Arlula.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-01-28T01:58:21.000Z","updated_at":"2024-10-08T22:07:38.000Z","dependencies_parsed_at":"2023-09-22T07:08:21.487Z","dependency_job_id":"567dab5b-b7e8-4495-aaf8-c2b32782a195","html_url":"https://github.com/Arlula/python-core-sdk","commit_stats":{"total_commits":267,"total_committers":7,"mean_commits":"38.142857142857146","dds":0.07116104868913853,"last_synced_commit":"b02e746fa4fbc495fc2f3697b5a3302679e07855"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/Arlula/python-core-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arlula%2Fpython-core-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arlula%2Fpython-core-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arlula%2Fpython-core-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arlula%2Fpython-core-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arlula","download_url":"https://codeload.github.com/Arlula/python-core-sdk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arlula%2Fpython-core-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269672472,"owners_count":24457115,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["api","python","python-package","python-packages","python3","satellite","satellite-data","satellite-imagery","satellite-images"],"created_at":"2024-12-19T09:13:38.946Z","updated_at":"2025-08-10T03:37:51.062Z","avatar_url":"https://github.com/Arlula.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Arlula API Python Package**\n## About\nThis package provides a core interface for interacting with the [Arlula API](https://www.arlula.com/documentation/).\nThis package can be found on [PyPI](https://pypi.org/project/arlulacore/).\nDocumentation for this package can be found below, but for extensive documentation see the [wiki](https://github.com/Arlula/python-core-sdk/wiki).\n\n## Prerequisites\nThis package requires an active Arlula account and access to the API credentials. If you don't have an account, you can create one at [api.arlula.com/signup](https://api.arlula.com/signup).\n\n## Installation\n```bash\npip install arlulacore\n```\n## Instantiation\nInstantiate a Session object using your API credentials as below. This will validate your credentials and store them for the remainder of the session. This can be re-used for numerous requests or be instantiated numerous times with different API account credentials for concurrent access to different sessions.\n```python\nimport arlulacore\n\n\"\"\"opening a session\"\"\"\narlula_session = arlulacore.Session(key, secret)\n```\n\n## API Endpoints\nThis package contains methods for each of the supported API endpoints, namespaced by API namespace. Each namespace inherits the session defined above\n\n### Archive\n\nThe Archive API provides the ability to search and order from Arlula and its supplier's historic imagery archives.\n\n```python\napi = arlulacore.ArlulaAPI(arlula_session)\n\narchive = api.archiveAPI()\n\n# Search for imagery around sydney between 2020-Jan-1 and 2020-Feb-1\n# With at least 10m resolution (gsd)\nsearch_result = archive.search(\n    arlulacore.SearchRequest(\n        start=date(2020, 1, 1), \n        gsd=10,\n    )\n    .set_point_of_interest(-33.8688, 151.2093)\n    .set_end(date(2020, 2, 1))\n)\n\n# Order a specific image from the archive, using the id from above, \n# the eula that applies to you, the bundle you want, and (optionally) \n# email jane.doe@gmail.com and john.smith@gmail.com when it is complete.\norder_result = archive.order(\n    arlulacore.ArchiveOrderRequest(\n        id=\"eyJhb...AYTqwM\",\n        eula=\"Supplier's EULA\",\n        bundle_key=\"default\",\n    )\n    .set_emails([\"john.smith@gmail.com\", \"jane.doe@gmail.com\"])\n)\n```\n\n### Tasking\n\nThe Tasking API provides the ability to search and order future capturing opportunities from Arlula and it's suppliers.\n\n```python\ntasking = api.taskingAPI()\n\n# Search for capturing opportunities around sydney over the next 30 days\n# With at least 1m resolution and at an off-nadir of less than 30 degrees.\nsearch_result = tasking.search(\n    arlulacore.TaskingSearchRequest(\n        datetime.datetime.now(datetime.timezone.utc), \n        datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(days=30),\n        1,\n        30,\n    )\n    .set_point_of_interest(-33.8688, 151.2093)\n)\n\n# Order a future capture, using the ordering id from an above result, \n# the eula that applies to you, the bundle you want, and (optionally) \n# email jane.doe@gmail.com and john.smith@gmail.com when it is complete.\norder_result = tasking.order(\n    arlulacore.TaskingOrderRequest(\n        id=\"eyJhb...AYTqwM\",\n        eula=\"Supplier's EULA\",\n        bundle_key=\"default\",\n        priority=\"priority\",\n        cloud=30,\n    )\n    .set_emails([\"john.smith@gmail.com\", \"jane.doe@gmail.com\"])\n)\n```\n\n### Orders\n\nThe Orders API provides the ability to list and get entities within Arlula's Orders system.\nThese include Orders, Datasets, Campaigns, and Resources. \n\n```python\nordersAPI = api.ordersAPI()\n\n# List all orders the authenticated API account has access to\norders = ordersAPI.list_orders()\n\n# Get all campaigns delivered for an order\ncampaigns = ordersAPI.list_campaigns_for_order(\"cade11f4-8b4d-43e1-8cb1-3bce85111a01\")\n\n# Get all datasets delivered for an order\ndatasets = ordersAPI.list_datasets_for_order(\"cade11f4-8b4d-43e1-8cb1-3bce85111a01\")\n\n# Get the status and details of an order (will also populate datasets and campaigns)\norder = ordersAPI.get_order(\"cade11f4-8b4d-43e1-8cb1-3bce85111a01\")\n\n# List all datasets the authenticated API account has access to\ndatasets = ordersAPI.list_datasets()\n\n# Get a specific resource, for example thumbnails, tiffs, json metadata.\n# Streams to a file and returns the file handle.\nwith ordersAPI.download_resource_as_file(\"b7adb198-3e6e-4217-9e67-fb26eb355cc4\", filepath=\"downloads/thumbnail.jpg\") as f:\n    f.read()\n\n# Get a specific resource, for example thumbnails, tiffs, json metadata.\n# Returns the memory buffer of the requested resource.\n# Not recommended for large files.\nb = ordersAPI.download_resource_as_memory(\"b7adb198-3e6e-4217-9e67-fb26eb355cc4\")\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farlula%2Fpython-core-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farlula%2Fpython-core-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farlula%2Fpython-core-sdk/lists"}