Skip to main content

Python wrapper for SphericalFourierBesselDecompositions.jl

Project description

SuperFaB

Stable Dev Build Status

SuperFaB is a code for cosmological spherical Fourier-Bessel (SFB) analysis. The details of the code are presented in 2102.10079.

The name of this package is SphericalFourierBesselDecompositions.jl.

For installation instructions and a tutorial, see the Documentation.

pySuperFaB Python wrapper

This is a simple Python wrapper for SphericalFourierBesselDecompositions.jl.

Installation

pip install pysuperfab

The only dependency (from a Python perspective) is juliacall, which is available in conda as pyjuliacall.

Usage

You can use this as any other Python package. Under the hood it uses JuliaCall, which on first import will automatically download Julia if you don't already have it. It will also then download the SphericalFourierBesselDecompositions.jl Julia package.

Use pySuperFaB like so:

from pysuperfab import SFB

kmin = 0.05
rmin = 0.0
rmax = 2300.0
amodes = SFB.AnlmModes(kmin, rmin, rmax)

That should start looking really familiar from the SphericalFourierBesselDecompositions.jl documentation.

How to make a release

To avoid the awkwardness that the python CI cannot pass until the Julia package is registered, I recommend to do this in two steps: First do the Julia release, then the Python release.

  1. Update version:

    a. Edit version field in Project.toml.

    b. Edit version field in pysuperfab/juliapkg.json.

    c. Edit version field in pyproject.toml.

    d. Commit version updates. There is an awkwardness here: CI cannot pass for the python package until the Julia package has been registered.

  2. Julia release: comment with @JuliaRegistrator register() on that commit. This will publicize the package in the Julia General registry.

  3. Build and upload Python package:

    a. python -m build

    b. python -m twine upload dist/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysuperfab-0.5.16.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysuperfab-0.5.16-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file pysuperfab-0.5.16.tar.gz.

File metadata

  • Download URL: pysuperfab-0.5.16.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.15

File hashes

Hashes for pysuperfab-0.5.16.tar.gz
Algorithm Hash digest
SHA256 686971017d8272bc323307dd6d7078fead823b69f181c29147e819ba4b844309
MD5 5b9eb985540fe24693164ff66f407cde
BLAKE2b-256 1da1bd65f426437342194acec8570528a61912451b4c242d44b005459049cb11

See more details on using hashes here.

File details

Details for the file pysuperfab-0.5.16-py3-none-any.whl.

File metadata

  • Download URL: pysuperfab-0.5.16-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.15

File hashes

Hashes for pysuperfab-0.5.16-py3-none-any.whl
Algorithm Hash digest
SHA256 184967ed3b8635c1dc04ebedb7442b2c06767c25ed028cd9ff769c1676eaeb91
MD5 e4ff145df1f24e4cdd252f33ada91f19
BLAKE2b-256 8d4b4abec402bb3ead229903a4a064ae9f1cd56fa71ac7957a489f04636d744a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page