{"id":36315,"name":"ofact","description":"Simulation-based Digital Twin for Production and Logistics Material Flows","url":"https://github.com/openfactorytwin/ofact","last_synced_at":"2025-09-05T07:05:24.402Z","repository":{"id":256146987,"uuid":"853263652","full_name":"OpenFactoryTwin/ofact","owner":"OpenFactoryTwin","description":"Simulation-based Digital Twin for Production and Logistics Material Flows","archived":false,"fork":false,"pushed_at":"2025-08-29T14:22:15.000Z","size":53226,"stargazers_count":14,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-29T15:07:25.788Z","etag":null,"topics":["agent-based-simulation","digitaltwin","logistics","material-flow","ml","production","simulation"],"latest_commit_sha":null,"homepage":"http://openfactorytwin.org/","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/OpenFactoryTwin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-06T10:05:08.000Z","updated_at":"2025-08-29T14:22:19.000Z","dependencies_parsed_at":"2025-08-29T13:33:26.742Z","dependency_job_id":"b2d1325d-64eb-4410-aeb2-13a3327d84af","html_url":"https://github.com/OpenFactoryTwin/ofact","commit_stats":null,"previous_names":["openfactorytwin/ofact"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/OpenFactoryTwin/ofact","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFactoryTwin%2Fofact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFactoryTwin%2Fofact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFactoryTwin%2Fofact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFactoryTwin%2Fofact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenFactoryTwin","download_url":"https://codeload.github.com/OpenFactoryTwin/ofact/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFactoryTwin%2Fofact/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273723195,"owners_count":25156304,"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-09-05T02:00:09.113Z","response_time":402,"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"}},"owner":null,"packages":[],"commits":{"message":"Repository syncing started."},"issues_stats":{"full_name":"OpenFactoryTwin/ofact","html_url":"https://github.com/OpenFactoryTwin/ofact","last_synced_at":null,"status":null,"issues_count":null,"pull_requests_count":null,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":null,"pull_requests_closed_count":null,"pull_request_authors_count":null,"issue_authors_count":null,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":null,"bot_issues_count":null,"bot_pull_requests_count":null,"past_year_issues_count":null,"past_year_pull_requests_count":null,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":null,"past_year_pull_requests_closed_count":null,"past_year_pull_request_authors_count":null,"past_year_issue_authors_count":null,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":null,"past_year_bot_pull_requests_count":null,"past_year_merged_pull_requests_count":null,"created_at":"2025-08-29T20:46:45.335Z","updated_at":"2025-08-29T20:46:45.335Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFactoryTwin%2Fofact","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFactoryTwin%2Fofact/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":1,"python":1},"issue_author_associations_count":{},"pull_request_author_associations_count":{"NONE":1},"issue_authors":{},"pull_request_authors":{"dependabot[bot]":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.444Z","repositories_count":10087320,"issues_count":31306968,"pull_requests_count":96469683,"authors_count":10696025,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"dependencies":1,"python":1},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"NONE":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"dependabot[bot]":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"WatchEvent":11,"PushEvent":13,"PullRequestEvent":1},"last_year":{"WatchEvent":11,"PushEvent":13,"PullRequestEvent":1}},"keywords":["agent-based-simulation","digitaltwin","logistics","material-flow","ml","production","simulation"],"dependencies":[{"ecosystem":"pypi","filepath":"ofact/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-09-09T09:00:00.823Z","updated_at":"2024-09-09T09:00:00.823Z","repository_link":"https://github.com/OpenFactoryTwin/ofact/blob/main/ofact/requirements.txt","dependencies":[{"id":20051266487,"package_name":"python","ecosystem":"pypi","requirements":"==3.10","direct":true,"kind":"runtime","optional":false},{"id":20051266488,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.26.4","direct":true,"kind":"runtime","optional":false},{"id":20051266489,"package_name":"pandas","ecosystem":"pypi","requirements":"==2.2.2","direct":true,"kind":"runtime","optional":false},{"id":20051266490,"package_name":"dill","ecosystem":"pypi","requirements":"==0.3.8","direct":true,"kind":"runtime","optional":false},{"id":20051266491,"package_name":"openpyxl","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"ofact/twin/state_model/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-09-09T09:00:00.937Z","updated_at":"2024-09-09T09:00:00.937Z","repository_link":"https://github.com/OpenFactoryTwin/ofact/blob/main/ofact/twin/state_model/requirements.txt","dependencies":[{"id":20051266492,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":20051266493,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":20051266494,"package_name":"dill","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2024-09-09T09:00:00.954Z","updated_at":"2024-09-09T09:00:00.954Z","repository_link":"https://github.com/OpenFactoryTwin/ofact/blob/main/pyproject.toml","dependencies":[{"id":20051266495,"package_name":"python","ecosystem":"pypi","requirements":"^3.10","direct":true,"kind":"runtime","optional":false},{"id":20051266496,"package_name":"numpy","ecosystem":"pypi","requirements":"^1.26.4","direct":true,"kind":"runtime","optional":false},{"id":20051266497,"package_name":"pandas","ecosystem":"pypi","requirements":"^2.2.0","direct":true,"kind":"runtime","optional":false},{"id":20051266498,"package_name":"dill","ecosystem":"pypi","requirements":"^0.3.8","direct":true,"kind":"runtime","optional":false},{"id":20051266499,"package_name":"openpyxl","ecosystem":"pypi","requirements":"^3.1.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"docs/dev/docker/docker-compose.yml","sha":null,"kind":"manifest","created_at":"2025-07-03T10:34:26.992Z","updated_at":"2025-07-03T10:34:26.992Z","repository_link":"https://github.com/OpenFactoryTwin/ofact/blob/main/docs/dev/docker/docker-compose.yml","dependencies":[{"id":23950182018,"package_name":"nasqueron/openfire","ecosystem":"docker","requirements":"latest","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"ofact/twin/agent_control/requirements.txt","sha":null,"kind":"manifest","created_at":"2025-07-03T10:34:27.477Z","updated_at":"2025-07-03T10:34:27.477Z","repository_link":"https://github.com/OpenFactoryTwin/ofact/blob/main/ofact/twin/agent_control/requirements.txt","dependencies":[{"id":23950182052,"package_name":"abc","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182093,"package_name":"json","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182094,"package_name":"logging","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182095,"package_name":"copy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182096,"package_name":"enum","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182097,"package_name":"datetime","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182098,"package_name":"pathlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182099,"package_name":"typing","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182100,"package_name":"math","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182142,"package_name":"random","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182143,"package_name":"functools","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182144,"package_name":"operator","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182189,"package_name":"itertools","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182190,"package_name":"time","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182191,"package_name":"asyncio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182192,"package_name":"spade","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182227,"package_name":"ofrestapi","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182229,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182230,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"ofact/twin/model_learning/requirements.txt","sha":null,"kind":"manifest","created_at":"2025-07-03T10:34:29.245Z","updated_at":"2025-07-03T10:34:29.245Z","repository_link":"https://github.com/OpenFactoryTwin/ofact/blob/main/ofact/twin/model_learning/requirements.txt","dependencies":[{"id":23950182252,"package_name":"torch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182253,"package_name":"torchmetrics","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182254,"package_name":"permetrics","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182362,"package_name":"sklearn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182363,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182364,"package_name":"category-encoders","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182385,"package_name":"pygwalker","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182386,"package_name":"optuna","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2025-07-03T10:34:29.464Z","updated_at":"2025-07-03T10:34:29.464Z","repository_link":"https://github.com/OpenFactoryTwin/ofact/blob/main/poetry.lock","dependencies":[{"id":23950182387,"package_name":"aiohappyeyeballs","ecosystem":"pypi","requirements":"2.4.3","direct":false,"kind":"runtime","optional":false},{"id":23950182388,"package_name":"aiohttp","ecosystem":"pypi","requirements":"3.10.5","direct":false,"kind":"runtime","optional":false},{"id":23950182389,"package_name":"aiohttp-jinja2","ecosystem":"pypi","requirements":"1.6","direct":false,"kind":"runtime","optional":false},{"id":23950182390,"package_name":"aioopenssl","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":23950182391,"package_name":"aiosasl","ecosystem":"pypi","requirements":"0.5.0","direct":false,"kind":"runtime","optional":false},{"id":23950182459,"package_name":"aiosignal","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":23950182460,"package_name":"aioxmpp","ecosystem":"pypi","requirements":"0.13.3","direct":false,"kind":"runtime","optional":false},{"id":23950182473,"package_name":"aniso8601","ecosystem":"pypi","requirements":"9.0.1","direct":false,"kind":"runtime","optional":false},{"id":23950182474,"package_name":"arrow","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":23950182475,"package_name":"attrs","ecosystem":"pypi","requirements":"24.2.0","direct":false,"kind":"runtime","optional":false},{"id":23950182476,"package_name":"babel","ecosystem":"pypi","requirements":"2.16.0","direct":false,"kind":"runtime","optional":false},{"id":23950182477,"package_name":"cerberus","ecosystem":"pypi","requirements":"1.3.5","direct":false,"kind":"runtime","optional":false},{"id":23950182478,"package_name":"certifi","ecosystem":"pypi","requirements":"2024.8.30","direct":false,"kind":"runtime","optional":false},{"id":23950182479,"package_name":"cffi","ecosystem":"pypi","requirements":"1.17.1","direct":false,"kind":"runtime","optional":false},{"id":23950182480,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.0","direct":false,"kind":"runtime","optional":false},{"id":23950182481,"package_name":"click","ecosystem":"pypi","requirements":"8.1.7","direct":false,"kind":"runtime","optional":false},{"id":23950182482,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":23950182483,"package_name":"cryptography","ecosystem":"pypi","requirements":"43.0.3","direct":false,"kind":"runtime","optional":false},{"id":23950182484,"package_name":"dill","ecosystem":"pypi","requirements":"0.3.9","direct":false,"kind":"runtime","optional":false},{"id":23950182485,"package_name":"dnspython","ecosystem":"pypi","requirements":"2.7.0","direct":false,"kind":"runtime","optional":false},{"id":23950182486,"package_name":"et-xmlfile","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":23950182487,"package_name":"flask","ecosystem":"pypi","requirements":"2.2.5","direct":false,"kind":"runtime","optional":false},{"id":23950182488,"package_name":"flask-cors","ecosystem":"pypi","requirements":"4.0.2","direct":false,"kind":"runtime","optional":false},{"id":23950182489,"package_name":"flask-restful","ecosystem":"pypi","requirements":"0.3.10","direct":false,"kind":"runtime","optional":false},{"id":23950182490,"package_name":"frozenlist","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":23950182491,"package_name":"idna","ecosystem":"pypi","requirements":"3.10","direct":false,"kind":"runtime","optional":false},{"id":23950182492,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":23950182493,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":23950182494,"package_name":"jinja2-time","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":23950182495,"package_name":"lxml","ecosystem":"pypi","requirements":"4.9.4","direct":false,"kind":"runtime","optional":false},{"id":23950182496,"package_name":"markupsafe","ecosystem":"pypi","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":23950182497,"package_name":"multidict","ecosystem":"pypi","requirements":"5.2.0","direct":false,"kind":"runtime","optional":false},{"id":23950182498,"package_name":"numpy","ecosystem":"pypi","requirements":"2.1.3","direct":false,"kind":"runtime","optional":false},{"id":23950182499,"package_name":"openfire-restapi","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":23950182566,"package_name":"openpyxl","ecosystem":"pypi","requirements":"3.1.5","direct":false,"kind":"runtime","optional":false},{"id":23950182567,"package_name":"pandas","ecosystem":"pypi","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":23950182568,"package_name":"propcache","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":23950182569,"package_name":"pyasn1","ecosystem":"pypi","requirements":"0.4.8","direct":false,"kind":"runtime","optional":false},{"id":23950182570,"package_name":"pyasn1-modules","ecosystem":"pypi","requirements":"0.2.8","direct":false,"kind":"runtime","optional":false},{"id":23950182571,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.22","direct":false,"kind":"runtime","optional":false},{"id":23950182572,"package_name":"pyodbc","ecosystem":"pypi","requirements":"5.2.0","direct":false,"kind":"runtime","optional":false},{"id":23950182573,"package_name":"pyopenssl","ecosystem":"pypi","requirements":"24.2.1","direct":false,"kind":"runtime","optional":false},{"id":23950182574,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":23950182575,"package_name":"python-dotenv","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":23950182576,"package_name":"pytz","ecosystem":"pypi","requirements":"2022.1","direct":false,"kind":"runtime","optional":false},{"id":23950182577,"package_name":"requests","ecosystem":"pypi","requirements":"2.32.3","direct":false,"kind":"runtime","optional":false},{"id":23950182578,"package_name":"scipy","ecosystem":"pypi","requirements":"1.14.1","direct":false,"kind":"runtime","optional":false},{"id":23950182579,"package_name":"singletonify","ecosystem":"pypi","requirements":"0.2.4","direct":false,"kind":"runtime","optional":false},{"id":23950182649,"package_name":"six","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":23950182650,"package_name":"sortedcollections","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":23950182674,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":23950182675,"package_name":"spade","ecosystem":"pypi","requirements":"3.3.3","direct":false,"kind":"runtime","optional":false},{"id":23950182676,"package_name":"timeago","ecosystem":"pypi","requirements":"1.0.16","direct":false,"kind":"runtime","optional":false},{"id":23950182705,"package_name":"tqdm","ecosystem":"pypi","requirements":"4.67.1","direct":false,"kind":"runtime","optional":false},{"id":23950182706,"package_name":"types-python-dateutil","ecosystem":"pypi","requirements":"2.9.0.20241003","direct":false,"kind":"runtime","optional":false},{"id":23950182707,"package_name":"tzdata","ecosystem":"pypi","requirements":"2024.2","direct":false,"kind":"runtime","optional":false},{"id":23950182708,"package_name":"tzlocal","ecosystem":"pypi","requirements":"5.2","direct":false,"kind":"runtime","optional":false},{"id":23950182709,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":23950182710,"package_name":"werkzeug","ecosystem":"pypi","requirements":"3.1.3","direct":false,"kind":"runtime","optional":false},{"id":23950182711,"package_name":"yarl","ecosystem":"pypi","requirements":"1.18.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"projects/bicycle_world/requirements.txt","sha":null,"kind":"manifest","created_at":"2025-07-03T10:34:31.436Z","updated_at":"2025-07-03T10:34:31.436Z","repository_link":"https://github.com/OpenFactoryTwin/ofact/blob/main/projects/bicycle_world/requirements.txt","dependencies":[{"id":23950182714,"package_name":"anki_vector","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182715,"package_name":"pyserial","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":23950182772,"package_name":"tksheet","ecosystem":"pypi","requirements":"==5.2.8","direct":true,"kind":"runtime","optional":false},{"id":23950182811,"package_name":"openpyxl","ecosystem":"pypi","requirements":"==3.0.9","direct":true,"kind":"runtime","optional":false},{"id":23950182812,"package_name":"xlsxwriter","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"projects/tutorial/requirements.txt","sha":null,"kind":"manifest","created_at":"2025-07-03T10:34:31.867Z","updated_at":"2025-07-03T10:34:31.867Z","repository_link":"https://github.com/OpenFactoryTwin/ofact/blob/main/projects/tutorial/requirements.txt","dependencies":[{"id":23950182813,"package_name":"openpyxl","ecosystem":"pypi","requirements":"==3.1.2","direct":true,"kind":"runtime","optional":false},{"id":23950182814,"package_name":"pandas","ecosystem":"pypi","requirements":"==2.2.2","direct":true,"kind":"runtime","optional":false},{"id":23950182815,"package_name":"ipydatagrid","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":23950182825,"package_name":"jupyter","ecosystem":"pypi","requirements":"==1.1.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2025-07-03T10:34:31.994Z","updated_at":"2025-07-03T10:34:31.994Z","repository_link":"https://github.com/OpenFactoryTwin/ofact/blob/main/requirements.txt","dependencies":[{"id":23950182854,"package_name":"dill","ecosystem":"pypi","requirements":"==0.3.9","direct":true,"kind":"runtime","optional":false},{"id":23950182855,"package_name":"openpyxl","ecosystem":"pypi","requirements":"==3.1.5","direct":true,"kind":"runtime","optional":false},{"id":23950182856,"package_name":"numpy","ecosystem":"pypi","requirements":"==2.1.1","direct":true,"kind":"runtime","optional":false},{"id":23950182857,"package_name":"pandas","ecosystem":"pypi","requirements":"==2.2.3","direct":true,"kind":"runtime","optional":false},{"id":23950182858,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.15.2","direct":true,"kind":"runtime","optional":false},{"id":23950182859,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.67.1","direct":true,"kind":"runtime","optional":false},{"id":23950182860,"package_name":"spade","ecosystem":"pypi","requirements":"==4.0.3","direct":true,"kind":"runtime","optional":false},{"id":23950182861,"package_name":"cerberus","ecosystem":"pypi","requirements":"==1.3.7","direct":true,"kind":"runtime","optional":false},{"id":23950182862,"package_name":"slixmpp","ecosystem":"pypi","requirements":"==1.8.5","direct":true,"kind":"runtime","optional":false},{"id":23950182937,"package_name":"pyjabber","ecosystem":"pypi","requirements":"==0.2.4","direct":true,"kind":"runtime","optional":false},{"id":23950183025,"package_name":"ipydatagrid","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":23950183026,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"==8.1.7","direct":true,"kind":"runtime","optional":false},{"id":23950183027,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.10.3","direct":true,"kind":"runtime","optional":false},{"id":23950183028,"package_name":"seaborn","ecosystem":"pypi","requirements":"==0.13.2","direct":true,"kind":"runtime","optional":false},{"id":23950183029,"package_name":"polars","ecosystem":"pypi","requirements":"==1.30.0","direct":true,"kind":"runtime","optional":false},{"id":23950183030,"package_name":"plotly","ecosystem":"pypi","requirements":"==6.1.2","direct":true,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2025-09-04T15:51:09.905Z","updated_at":"2025-10-07T08:15:01.321Z","avatar_url":"https://github.com/OpenFactoryTwin.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/36315","html_url":"https://science.ecosyste.ms/projects/36315","bibtex_url":"https://science.ecosyste.ms/projects/36315/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/36315/export.apalike"}