{"id":37063344,"url":"https://github.com/fossilfree/numerous","last_synced_at":"2026-01-14T07:12:44.697Z","repository":{"id":37686614,"uuid":"218100168","full_name":"fossilfree/numerous","owner":"fossilfree","description":"Numerous - an object-oriented modelling and simulation engine.","archived":false,"fork":false,"pushed_at":"2023-07-28T06:42:33.000Z","size":7848,"stargazers_count":14,"open_issues_count":19,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-25T04:45:40.348Z","etag":null,"topics":["python","simulation-engine"],"latest_commit_sha":null,"homepage":"https://numerous.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fossilfree.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-28T16:55:11.000Z","updated_at":"2024-07-16T07:22:58.000Z","dependencies_parsed_at":"2022-07-20T13:48:00.079Z","dependency_job_id":null,"html_url":"https://github.com/fossilfree/numerous","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fossilfree/numerous","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossilfree%2Fnumerous","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossilfree%2Fnumerous/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossilfree%2Fnumerous/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossilfree%2Fnumerous/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fossilfree","download_url":"https://codeload.github.com/fossilfree/numerous/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossilfree%2Fnumerous/sbom","scorecard":{"id":407730,"data":{"date":"2025-08-11","repo":{"name":"github.com/fossilfree/numerous","commit":"ba91227a0f9d42f047cc9866a965adc82bb9d4eb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.6,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":5,"reason":"Found 15/27 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating ubuntu:latest to ubuntu:latest@sha256:7c06e91f61fa88c08cc74f7e1b7c69ae24910d745357e0dfe1d2c0322aaf20f9","Warn: pipCommand not pinned by hash: Dockerfile:13","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":1,"reason":"9 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg","Warn: Project is vulnerable to: PYSEC-2020-92 / GHSA-hj5v-574p-mj7c","Warn: Project is vulnerable to: PYSEC-2022-42969","Warn: Project is vulnerable to: GHSA-g7vv-2v7x-gj9p","Warn: Project is vulnerable to: GHSA-jfmj-5v4g-7637"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 24 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T21:49:03.970Z","repository_id":37686614,"created_at":"2025-08-18T21:49:03.970Z","updated_at":"2025-08-18T21:49:03.970Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28412682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["python","simulation-engine"],"created_at":"2026-01-14T07:12:43.956Z","updated_at":"2026-01-14T07:12:44.686Z","avatar_url":"https://github.com/fossilfree.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://framerusercontent.com/modules/0NBlkpwGRAx5GVr0Qowa/WoxIE6GzMmPgU6UV3heH/assets/JlHMAnfxSjyEebKRUvDVAubjBdE.jpg\" width=\"400\" height=\"200\"\u003e\n\n[![CircleCI](https://circleci.com/gh/fossilfree/numerous.svg?style=shield)](https://circleci.com/gh/fossilfree/numerous)\n---------------------------------------------------------------------------------------------------\n\nNumerous — an object-oriented modelling and simulation engine \n================================================================\n\nReasons for developing a python-based object-oriented simulation engine \n\nThe arguments for a python simulation engine are numerous: \n\n* In order to take advantage of cloud based computing power a run-anywhere solution is preferred\n* Open-source to eliminate the need of complex licenses for deploying thousands of simulations\n* Direct connection with machine-learning and artificial intelligence libraries through the most popular programming language for data science\n* Leveraging packages from the vast community seamlessly\n\n\nPhilosophy and Motivation for Object-Oriented Modelling\n--------------------------------------------------------\n\nAs systems becomes complex the number of equations and variables grow fast and the overview is lost for the model developer. The idea behind this engine is to allow the model developer focus on one familiar object at a time and setup simulations for validation – and then combine these objects together to form complex interacting systems in a simple way where all the general tedious work is handled by the engine. \n\nQuick start\n--------------------------------------------------------\nTo install using pip use `pip install numerous-engine`\n\n\nYou can get started quickly here with a simple example:\n\n```python\nfrom numerous.engine import model, simulation\nfrom numerous.examples.dampened_oscillator.dampened_oscillator import OscillatorSystem\n#Define simulation\ns = simulation.Simulation(\n     model.Model(OscillatorSystem('system')),\n    t_start=0, t_stop=10, num=100, num_inner=100, max_step=0.1\n)\n#Solve\ns.solve()\nsimulation_result = s.model.historian_df\n```\n\n\nOr follow one of our comprehensive tutorials: \n\n * [Bouncing_Ball](https://github.com/fossilfree/numerous/blob/master/examples/Bouncing_Ball/Bouncing%20Ball%20Example.ipynb)\n\ta model of a ball dropping from a certain height and bouncing off the ground, until it finally comes to rest\n * [Two_Tanks_System](https://github.com/fossilfree/numerous/blob/master/examples/Two_Tanks_System/TwoTanks_System.ipynb)\n\ttwo tanks are placed on top of each other and connected by a valve.\n\nDocumentation can be found on [readthedocs](https://numerous.readthedocs.io/).\n\nOr you can get familiar with the concepts we have used to abstract away building complex interacting systems right inside python. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffossilfree%2Fnumerous","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffossilfree%2Fnumerous","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffossilfree%2Fnumerous/lists"}