{"adoption": {"forks": 264, "observed_at": "2026-08-28T04:06:00.866190+00:00", "stars": 1971}, "canonical_url": "https://ross.abutalabs.com/products/physo", "card": {"archived": false, "artifact_type": "library", "description": "Physical Symbolic Optimization", "domain": ["machine-learning", "deep-learning", "data-science"], "enriched": true, "function": ["machine-learning", "deep-learning", "reinforcement-learning", "data-science"], "health_score": 68, "homepage": "https://physo.readthedocs.io/", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["WassimTenachi/PhySO"], "name": "WassimTenachi/PhySO", "platform": ["python", "cross-platform"], "pushed_at": "2026-02-21T13:49:54+00:00", "repo": "WassimTenachi/PhySO", "stars": 1971, "tags": ["symbolic-regression", "equation-discovery", "dimensional-analysis", "physics", "reinforcement-learning", "pytorch", "scientific-computing", "algorithms"], "topics": ["deep-learning", "machine-learning", "physics", "python", "reinforcement-learning", "symbolic-regression", "equation-discovery"], "urls": [], "use_cases": ["discover physical equations from experimental data", "perform symbolic regression with unit constraints", "fit one analytical formula across multiple datasets", "recover equations like a damped harmonic oscillator from data points", "run symbolic regression robust to noisy measurements", "benchmark equation discovery on the Feynman lectures dataset"], "what_it_is": "PhySO is a Python library for physical symbolic optimization that uses deep reinforcement learning to discover analytical physical laws from data via symbolic regression. It leverages physical unit constraints and dimensional analysis to reduce the equation search space, and supports fitting a single functional form across multiple datasets.", "when_to_avoid": ["you need general-purpose symbolic regression outside physics or without unit information", "you need a non-Python or GPU-cluster-scale production system", "you want purely numerical curve fitting without symbolic expressions"], "when_to_choose": ["you need interpretable analytical formulas rather than black-box models", "your data has known physical units that can constrain the search", "you want state-of-the-art symbolic regression performance under noise", "you work in Python with PyTorch and want pip/conda installability"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/physo", "repo": "WassimTenachi/PhySO", "role": "main", "score": 52}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:03.973163+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "704def8fbdb5d1a0e6ee918423dcadb832eb99b7c6bcc77edfc2d164c70d4d68", "fetched_at": "2026-08-28T04:06:00.866190+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WassimTenachi/PhySO"}, {"content_hash": "4726c700ebf8c8546b36d8c8a799b7c6dac2d9117b323a44c8a3ada2d5dd786c", "fetched_at": "2026-08-29T10:44:57.092234+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/physo/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:03.973163+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "704def8fbdb5d1a0e6ee918423dcadb832eb99b7c6bcc77edfc2d164c70d4d68", "fetched_at": "2026-08-28T04:06:00.866190+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WassimTenachi/PhySO"}, {"content_hash": "4726c700ebf8c8546b36d8c8a799b7c6dac2d9117b323a44c8a3ada2d5dd786c", "fetched_at": "2026-08-29T10:44:57.092234+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/physo/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:03.973163+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "704def8fbdb5d1a0e6ee918423dcadb832eb99b7c6bcc77edfc2d164c70d4d68", "fetched_at": "2026-08-28T04:06:00.866190+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WassimTenachi/PhySO"}, {"content_hash": "4726c700ebf8c8546b36d8c8a799b7c6dac2d9117b323a44c8a3ada2d5dd786c", "fetched_at": "2026-08-29T10:44:57.092234+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/physo/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:03.973163+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "704def8fbdb5d1a0e6ee918423dcadb832eb99b7c6bcc77edfc2d164c70d4d68", "fetched_at": "2026-08-28T04:06:00.866190+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WassimTenachi/PhySO"}, {"content_hash": "4726c700ebf8c8546b36d8c8a799b7c6dac2d9117b323a44c8a3ada2d5dd786c", "fetched_at": "2026-08-29T10:44:57.092234+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/physo/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:03.973163+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "704def8fbdb5d1a0e6ee918423dcadb832eb99b7c6bcc77edfc2d164c70d4d68", "fetched_at": "2026-08-28T04:06:00.866190+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WassimTenachi/PhySO"}, {"content_hash": "4726c700ebf8c8546b36d8c8a799b7c6dac2d9117b323a44c8a3ada2d5dd786c", "fetched_at": "2026-08-29T10:44:57.092234+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/physo/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:03.973163+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "704def8fbdb5d1a0e6ee918423dcadb832eb99b7c6bcc77edfc2d164c70d4d68", "fetched_at": "2026-08-28T04:06:00.866190+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WassimTenachi/PhySO"}, {"content_hash": "4726c700ebf8c8546b36d8c8a799b7c6dac2d9117b323a44c8a3ada2d5dd786c", "fetched_at": "2026-08-29T10:44:57.092234+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/physo/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.866190+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:03.973163+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "704def8fbdb5d1a0e6ee918423dcadb832eb99b7c6bcc77edfc2d164c70d4d68", "fetched_at": "2026-08-28T04:06:00.866190+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WassimTenachi/PhySO"}, {"content_hash": "4726c700ebf8c8546b36d8c8a799b7c6dac2d9117b323a44c8a3ada2d5dd786c", "fetched_at": "2026-08-29T10:44:57.092234+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/physo/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:03.973163+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "704def8fbdb5d1a0e6ee918423dcadb832eb99b7c6bcc77edfc2d164c70d4d68", "fetched_at": "2026-08-28T04:06:00.866190+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WassimTenachi/PhySO"}, {"content_hash": "4726c700ebf8c8546b36d8c8a799b7c6dac2d9117b323a44c8a3ada2d5dd786c", "fetched_at": "2026-08-29T10:44:57.092234+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/physo/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:03.973163+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "704def8fbdb5d1a0e6ee918423dcadb832eb99b7c6bcc77edfc2d164c70d4d68", "fetched_at": "2026-08-28T04:06:00.866190+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WassimTenachi/PhySO"}, {"content_hash": "4726c700ebf8c8546b36d8c8a799b7c6dac2d9117b323a44c8a3ada2d5dd786c", "fetched_at": "2026-08-29T10:44:57.092234+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/physo/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:03.973163+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "704def8fbdb5d1a0e6ee918423dcadb832eb99b7c6bcc77edfc2d164c70d4d68", "fetched_at": "2026-08-28T04:06:00.866190+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WassimTenachi/PhySO"}, {"content_hash": "4726c700ebf8c8546b36d8c8a799b7c6dac2d9117b323a44c8a3ada2d5dd786c", "fetched_at": "2026-08-29T10:44:57.092234+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/physo/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 68, "longevity": 93, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1314, "days_push": 193, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 52, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}