guix_mirror_bot pushed a commit to branch astro-updates in repository guix.
commit 59083135f7e5d766c72c8e178195d58122969671 Author: Sharlatan Hellseher <[email protected]> AuthorDate: Tue Oct 14 08:59:30 2025 +0100 gnu: Add tangos. * gnu/packages/astronomy.scm (tangos): New variable. Change-Id: Iadab34535cb09884ae82ea637faa74174eec5fcd --- gnu/packages/astronomy.scm | 100 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 735d670ab2..8f4c86fbbc 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -10454,6 +10454,106 @@ controlled sockets any arbitrary astrometric projection defined in the WCS standard.") (license license:gpl3+))) +(define-public tangos + (package + (name "tangos") + (version "1.9.1") ;1.10.0+ requires python-pynbody 2+ + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pynbody/tangos") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vmjkhmqnr6abg7mybib1gllqbimv4ylgzvwxnsw0kk6cvv4qgl9")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Full integration tests require running database, see projects + ;; CI, unit tests are quite compute instance. + ;; + ;; tests: 279 passed, 1 deselected, 105 warnings + #:test-flags + #~(list "--ignore=mpi_tests" + ;; OSError: File 'test_simulations/test_tipsy/tiny.000640': + ;; format not understood or does not exist + "--deselect=tests/test_bh_reader.py::test_bhlog") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-broken-scripts + (lambda _ + ;; TODO: Report upstram. + ;; I could not find "Simpy" module, see: + ;; - URL: <https://github.com/pynbody/tangos/commit> + ;; - commit: 7de987e27d756278c4571dc65f36d377027fa29d + ;; - comment: #commitcomment-167855052 + (delete-file "tangos/scripts/preprocess_bh.py") + (substitute* "setup.py" + ;; ModuleNotFoundError: No module named + ;; 'tangos.scripts.bh_timelink' + ((".*tangos_bh_timelink =.*") "") + ;; It looks this script uses not a publicly available module: + ;; import Simpy.BlackHoles.orbit. + ((".*tangos_preprocess_bh =.*") ""))))))) + (native-inputs + (list python-pymysql + python-pynbody + python-pyquery + python-pytest + python-setuptools + python-webtest + python-yt)) + (inputs + (list python-hupper + python-matplotlib + python-more-itertools + python-numpy + python-packaging + python-pastedeploy + python-plaster + python-plaster-pastedeploy + python-pyparsing + python-pyramid + python-pyramid-debugtoolbar + python-pyramid-jinja2 + python-pyramid-retry + python-pyramid-tm + python-repoze-lru + python-scipy + python-setuptools + python-sqlalchemy + python-tblib + python-tqdm + python-translationstring + python-venusian + python-waitress + python-webob + python-zope-deprecation + python-zope-interface + python-zope-sqlalchemy)) + (home-page "https://github.com/pynbody/tangos") + (synopsis "Agile numerical galaxy organisation system") + (description + "TANGOS is a tool to build a database (along the lines of +@url{http://icc.dur.ac.uk/Eagle/database.php, Eagle} or +@url{https://www.cosmosim.org/cms/documentation/projects/multidark-bolshoi-project/, +MultiDark}) for cosmological and zoom simulations. + +Features: +@itemize +@item designed to store and manage results from custom analysis code +@item provides web and Python interfaces +@item science-focussed queries across entire merger trees, without requiring +any knowledge of SQL +@item manages the process of populating the database with science data, +including auto-parallelising custom analysis +@item customization with multiple Python modules such as @code{pynbody} or +@code{yt} to process raw simulation data +@item suports file-based database SQLite, server-based MySQL and PostgreSQL +@end itemize") + (license license:bsd-3))) + (define-public tempo (package (name "tempo")
