{"id":16542159,"url":"https://github.com/osallou/python-mesos-http","last_synced_at":"2025-07-22T11:04:45.047Z","repository":{"id":55632997,"uuid":"81328704","full_name":"osallou/python-mesos-http","owner":"osallou","description":"Python mesos scheduler HTTP library","archived":false,"fork":false,"pushed_at":"2020-12-16T16:25:37.000Z","size":138,"stargazers_count":12,"open_issues_count":0,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T20:24:02.623Z","etag":null,"topics":["mesos","mesos-framework","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osallou.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.txt","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-08T12:40:07.000Z","updated_at":"2023-07-14T01:26:25.000Z","dependencies_parsed_at":"2022-08-15T05:00:45.306Z","dependency_job_id":null,"html_url":"https://github.com/osallou/python-mesos-http","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/osallou/python-mesos-http","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osallou%2Fpython-mesos-http","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osallou%2Fpython-mesos-http/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osallou%2Fpython-mesos-http/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osallou%2Fpython-mesos-http/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osallou","download_url":"https://codeload.github.com/osallou/python-mesos-http/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osallou%2Fpython-mesos-http/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266481732,"owners_count":23935938,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["mesos","mesos-framework","python"],"created_at":"2024-10-11T18:56:47.433Z","updated_at":"2025-07-22T11:04:45.022Z","avatar_url":"https://github.com/osallou.png","language":"Python","funding_links":[],"categories":["Language Bindings"],"sub_categories":["Experimental/Example/Unsorted"],"readme":"# Python mesos scheduler HTTP library\n\nThis is a Python library to create a Mesos scheduler.\n\nIt removes the need to use/install Mesos python bindings and makes use of the HTTP API (native bindings are not updated anymore with new features)\n\nMesosClient is the main entrypoint that connects to the Mesos master. You can then register for callbacks on events.\nOn subscribe, you get a driver instance which you can use to send messages to master on current framework (kill, etc.)\n\nMesosClient must be executed in a separate thread as it keeps a loop pooling connection with the master.\n\nSubmitted tasks should be in JSON format (according to mesos.proto).\n\nSee sample/test.py for example.\n\nCallbacks will \"block\" the mesos message treatment, so they should be short, or messages should be forwarded to a queue in an other thread/process where longer tasks will handle messages.\n\n# DCOS EE Strict\n\nAdditions have been made to support login with ACS to allow access through to the master\nin a Strict security posture. The `sample/test.py` script is configured to accept the `SERVICE_SECRET` environment variable, which can be created and passed to the \nservice using the script given below:\n\n```\ndcos security org service-accounts keypair service-account-private.pem service-account-public.pem\ndcos security org service-accounts create -p service-account-public.pem -d \"Service account for Scale data processing framework\" service-account\ndcos security secrets create-sa-secret --strict service-account-private.pem service-account service-account-secret\n\n# Test with SUPERUSER perms on user\ndcos security org users grant service-account dcos:superuser full\n\n# Build image to test - update name in 2 commands below and marathon.json to your personal Docker Hub account name\ndocker build -t gisjedi/python-mesos-http -f Dockerfile-test-framework .\ndocker push gisjedi/python-mesos-http\n\n# Deploy app consuming image to marathon\ndcos marathon app add sample/marathon.json\n\n# Once success has been confirmed, more granular permissions should be applied\ndcos security org users revoke service-account dcos:superuser full\ndcos security org users grant service-account dcos:mesos:agent:task create\ndcos security org users grant service-account dcos:mesos:agent:task:app_id create\ndcos security org users grant service-account dcos:mesos:agent:task:user:nobody create\ndcos security org users grant service-account dcos:mesos:master:framework create\ndcos security org users grant service-account dcos:mesos:master:reservation create\ndcos security org users grant service-account dcos:mesos:master:reservation delete\ndcos security org users grant service-account dcos:mesos:master:reservation:principal:service_account delete\ndcos security org users grant service-account dcos:mesos:master:task create\ndcos security org users grant service-account dcos:mesos:master:task:app_id create\ndcos security org users grant service-account dcos:mesos:master:task:user:nobody create\ndcos security org users grant service-account dcos:mesos:master:volume create\ndcos security org users grant service-account dcos:mesos:master:volume delete\ndcos security org users grant service-account dcos:mesos:master:volume:principal:service_account delete\n```\n\n# About\n\nThis library does not implement all options of mesos.proto and manages schedulers only (not executors). Implemented features should be enough to implement a scheduler, if something is missing, please ask, or contribute ;-)\n\n# Install\n\n    pip install mesoshttp\n\n# Documentation\n\n[![Documentation Status](https://readthedocs.org/projects/osalloupython-mesos-http/badge/?version=latest)](http://osalloupython-mesos-http.readthedocs.io/en/latest/?badge=latest)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosallou%2Fpython-mesos-http","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosallou%2Fpython-mesos-http","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosallou%2Fpython-mesos-http/lists"}