Pypi upload compatible version (#33)

* moving test dependencies separately

* adding manifest to remove unecessary files

* updating name of project

* Fixing formatting

* Adding badge for pypi version

* Adding very simple install instructions
This commit is contained in:
Francois Lanusse 2024-12-21 11:47:13 -05:00 committed by GitHub
parent 160b86eb71
commit f245a1f685
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 24 additions and 17 deletions

View file

@ -34,7 +34,8 @@ jobs:
pip install git+https://github.com/MP-Gadget/pfft-python pip install git+https://github.com/MP-Gadget/pfft-python
pip install git+https://github.com/MP-Gadget/pmesh pip install git+https://github.com/MP-Gadget/pmesh
pip install git+https://github.com/ASKabalan/fastpm-python --no-build-isolation pip install git+https://github.com/ASKabalan/fastpm-python --no-build-isolation
pip install .[test] pip install -r requirements-test.txt
pip install .
- name: Run Single Device Tests - name: Run Single Device Tests
run: | run: |

3
.gitignore vendored
View file

@ -132,3 +132,6 @@ dmypy.json
# Pyre type checker # Pyre type checker
.pyre/ .pyre/
# Hide version file
_version.py

View file

@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2021 Differentiable Universe Initiative Copyright (c) 2021-2025 Differentiable Universe Initiative
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

2
MANIFEST.in Normal file
View file

@ -0,0 +1,2 @@
prune notebooks
prune tests

View file

@ -1,9 +1,18 @@
# JaxPM # JaxPM
[![Tests](https://github.com/DifferentiableUniverseInitiative/JaxPM/actions/workflows/tests.yml/badge.svg)](https://github.com/DifferentiableUniverseInitiative/JaxPM/actions/workflows/tests.yml) <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> [![PyPI version](https://img.shields.io/pypi/v/jaxpm)](https://pypi.org/project/jaxpm/) [![Tests](https://github.com/DifferentiableUniverseInitiative/JaxPM/actions/workflows/tests.yml/badge.svg)](https://github.com/DifferentiableUniverseInitiative/JaxPM/actions/workflows/tests.yml) <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) [![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END --> <!-- ALL-CONTRIBUTORS-BADGE:END -->
JAX-powered Cosmological Particle-Mesh N-body Solver JAX-powered Cosmological Particle-Mesh N-body Solver
## Install
Basic installation can be done using pip:
```bash
pip install jaxpm
```
For more advanced installation for optimized distribution on gpu clusters, please install jaxDecomp first. See instructions [here](https://github.com/DifferentiableUniverseInitiative/jaxDecomp).
## Goals ## Goals
Provide a modern infrastructure to support differentiable PM N-body simulations using JAX: Provide a modern infrastructure to support differentiable PM N-body simulations using JAX:

View file

@ -3,7 +3,7 @@ requires = ["setuptools", "wheel", "setuptools-scm"]
build-backend = "setuptools.build_meta" build-backend = "setuptools.build_meta"
[project] [project]
name = "JaxPM" name = "jaxpm"
dynamic = ["version"] dynamic = ["version"]
description = "A simple Particle-Mesh implementation in JAX" description = "A simple Particle-Mesh implementation in JAX"
authors = [{ name = "JaxPM developers" }] authors = [{ name = "JaxPM developers" }]
@ -13,19 +13,6 @@ license = { file = "LICENSE" }
urls = { "Homepage" = "https://github.com/DifferentiableUniverseInitiative/JaxPM" } urls = { "Homepage" = "https://github.com/DifferentiableUniverseInitiative/JaxPM" }
dependencies = ["jax_cosmo", "jax>=0.4.30", "jaxdecomp>=0.2.2"] dependencies = ["jax_cosmo", "jax>=0.4.30", "jaxdecomp>=0.2.2"]
[project.optional-dependencies]
test = [
"jax>=0.4.30",
"numpy",
"jax_cosmo",
"jaxdecomp>=0.2.2",
"pytest>=8.0.0",
"pfft-python @ git+https://github.com/MP-Gadget/pfft-python",
"pmesh @ git+https://github.com/MP-Gadget/pmesh",
"fastpm @ git+https://github.com/ASKabalan/fastpm-python",
"diffrax"
]
[tool.setuptools] [tool.setuptools]
packages = ["jaxpm"] packages = ["jaxpm"]

5
requirements-test.txt Normal file
View file

@ -0,0 +1,5 @@
pytest>=8.0.0
diffrax
pfft-python @ git+https://github.com/MP-Gadget/pfft-python
pmesh @ git+https://github.com/MP-Gadget/pmesh
fastpm @ git+https://github.com/ASKabalan/fastpm-python