astro-void-finder


Nameastro-void-finder JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/JFBookwood/astro-void-finder
SummaryHigh-performance astrophysics library for void finding, neutrino physics, and N-body simulations
upload_time2025-09-03 13:54:52
maintainerNone
docs_urlNone
authorJFBookwood
requires_python>=3.8
licenseNone
keywords astronomy astrophysics cosmology voids neutrinos n-body simulation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AstroLib - Advanced Astrophysics Library

## Overview
AstroLib is a high-performance Python library for astrophysical computations, focusing on void finding, neutrino physics, and N-body simulations. It's designed to work efficiently even on low-performance hardware through innovative algorithms and resource management.

## Features

### Core Components
- **Void Finding**: Advanced algorithms for void detection and analysis
- **Neutrino Physics**: Tools for neutrino mass estimation using void expansion
- **N-Body Simulations**: Optimized particle simulations
- **Machine Learning Integration**: ML-based analysis tools

### Performance Optimizations
- Adaptive resource management
- Smart caching system
- Memory-efficient data structures
- Parallel processing capabilities

## Installation

```bash
# Clone the repository
git clone https://github.com/yourusername/astrolib.git
cd astrolib

# Install dependencies
pip install -r requirements.txt

# Install the package
pip install -e .
```

## Requirements
- Python >= 3.8
- NumPy >= 1.20.0
- SciPy >= 1.7.0
- Astropy >= 4.0
- Numba >= 0.55.0
- h5py >= 3.0.0
- matplotlib >= 3.4.0
- pandas >= 1.3.0
- scikit-learn >= 1.0.0
- psutil >= 5.8.0

## Quick Start

```python
from astrolib.optimized_voids import StreamingVoidFinder
from astrolib.optimized_nbody import OptimizedNBody, SimulationConfig
from astrolib.neutrino_ml import NeutrinoMassEstimator

# Initialize void finder with resource-aware settings
finder = StreamingVoidFinder(chunk_size=100000, n_workers=2)

# Find voids in streaming mode
for void in finder.find_voids_streaming(data_iterator, box_size=500.0):
    print(f"Found void: radius = {void['radius']:.2f}")

# Set up N-body simulation
config = SimulationConfig(
    dt=0.01,
    softening=1e-4,
    theta=0.5,
    use_cache=True,
    n_workers=2
)
simulator = OptimizedNBody(config)

# Run simulation
positions, velocities = simulator.simulate_chunk(
    positions,
    velocities,
    masses,
    steps=100
)

# Estimate neutrino mass
estimator = NeutrinoMassEstimator()
mass, uncertainty = estimator.predict(voids)
print(f"Estimated neutrino mass: {mass:.3f} ± {uncertainty:.3f} eV")
```

## Documentation

### Void Finding
The library implements multiple void finding algorithms:
- Watershed Void Finder
- ZOBOV (Zones Bordering On Voidness)
- ML-enhanced void detection

```python
from astrolib.optimized_voids import StreamingVoidFinder

# Initialize finder
finder = StreamingVoidFinder()

# Find voids
voids = finder.find_voids_streaming(
    data_iterator,
    box_size=500.0
)
```

### N-Body Simulations
Efficient N-body simulations with adaptive time stepping:

```python
from astrolib.optimized_nbody import OptimizedNBody

# Configure simulation
simulator = OptimizedNBody()

# Run simulation
positions, velocities = simulator.simulate_chunk(
    initial_positions,
    initial_velocities,
    masses
)
```

### Neutrino Physics
Tools for neutrino mass estimation:

```python
from astrolib.neutrino_ml import NeutrinoMassEstimator

# Initialize estimator
estimator = NeutrinoMassEstimator()

# Estimate mass
mass, uncertainty = estimator.predict(void_catalog)
```

## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.

## License
This project is licensed under the MIT License - see the LICENSE file for details.

## Citation
If you use this library in your research, please cite:

```bibtex
@software{astrolib2025,
  author = {Your Name},
  title = {AstroLib: Advanced Astrophysics Library},
  year = {2025},
  url = {https://github.com/yourusername/astrolib}
}
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/JFBookwood/astro-void-finder",
    "name": "astro-void-finder",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "astronomy astrophysics cosmology voids neutrinos n-body simulation",
    "author": "JFBookwood",
    "author_email": "jesse.buchholz@jgmm.de",
    "download_url": "https://files.pythonhosted.org/packages/07/99/0114c6c16c878b645c835ffd3ce222143a0d71153903beeb379aec54499e/astro_void_finder-0.2.0.tar.gz",
    "platform": null,
    "description": "# AstroLib - Advanced Astrophysics Library\r\n\r\n## Overview\r\nAstroLib is a high-performance Python library for astrophysical computations, focusing on void finding, neutrino physics, and N-body simulations. It's designed to work efficiently even on low-performance hardware through innovative algorithms and resource management.\r\n\r\n## Features\r\n\r\n### Core Components\r\n- **Void Finding**: Advanced algorithms for void detection and analysis\r\n- **Neutrino Physics**: Tools for neutrino mass estimation using void expansion\r\n- **N-Body Simulations**: Optimized particle simulations\r\n- **Machine Learning Integration**: ML-based analysis tools\r\n\r\n### Performance Optimizations\r\n- Adaptive resource management\r\n- Smart caching system\r\n- Memory-efficient data structures\r\n- Parallel processing capabilities\r\n\r\n## Installation\r\n\r\n```bash\r\n# Clone the repository\r\ngit clone https://github.com/yourusername/astrolib.git\r\ncd astrolib\r\n\r\n# Install dependencies\r\npip install -r requirements.txt\r\n\r\n# Install the package\r\npip install -e .\r\n```\r\n\r\n## Requirements\r\n- Python >= 3.8\r\n- NumPy >= 1.20.0\r\n- SciPy >= 1.7.0\r\n- Astropy >= 4.0\r\n- Numba >= 0.55.0\r\n- h5py >= 3.0.0\r\n- matplotlib >= 3.4.0\r\n- pandas >= 1.3.0\r\n- scikit-learn >= 1.0.0\r\n- psutil >= 5.8.0\r\n\r\n## Quick Start\r\n\r\n```python\r\nfrom astrolib.optimized_voids import StreamingVoidFinder\r\nfrom astrolib.optimized_nbody import OptimizedNBody, SimulationConfig\r\nfrom astrolib.neutrino_ml import NeutrinoMassEstimator\r\n\r\n# Initialize void finder with resource-aware settings\r\nfinder = StreamingVoidFinder(chunk_size=100000, n_workers=2)\r\n\r\n# Find voids in streaming mode\r\nfor void in finder.find_voids_streaming(data_iterator, box_size=500.0):\r\n    print(f\"Found void: radius = {void['radius']:.2f}\")\r\n\r\n# Set up N-body simulation\r\nconfig = SimulationConfig(\r\n    dt=0.01,\r\n    softening=1e-4,\r\n    theta=0.5,\r\n    use_cache=True,\r\n    n_workers=2\r\n)\r\nsimulator = OptimizedNBody(config)\r\n\r\n# Run simulation\r\npositions, velocities = simulator.simulate_chunk(\r\n    positions,\r\n    velocities,\r\n    masses,\r\n    steps=100\r\n)\r\n\r\n# Estimate neutrino mass\r\nestimator = NeutrinoMassEstimator()\r\nmass, uncertainty = estimator.predict(voids)\r\nprint(f\"Estimated neutrino mass: {mass:.3f} \u00c2\u00b1 {uncertainty:.3f} eV\")\r\n```\r\n\r\n## Documentation\r\n\r\n### Void Finding\r\nThe library implements multiple void finding algorithms:\r\n- Watershed Void Finder\r\n- ZOBOV (Zones Bordering On Voidness)\r\n- ML-enhanced void detection\r\n\r\n```python\r\nfrom astrolib.optimized_voids import StreamingVoidFinder\r\n\r\n# Initialize finder\r\nfinder = StreamingVoidFinder()\r\n\r\n# Find voids\r\nvoids = finder.find_voids_streaming(\r\n    data_iterator,\r\n    box_size=500.0\r\n)\r\n```\r\n\r\n### N-Body Simulations\r\nEfficient N-body simulations with adaptive time stepping:\r\n\r\n```python\r\nfrom astrolib.optimized_nbody import OptimizedNBody\r\n\r\n# Configure simulation\r\nsimulator = OptimizedNBody()\r\n\r\n# Run simulation\r\npositions, velocities = simulator.simulate_chunk(\r\n    initial_positions,\r\n    initial_velocities,\r\n    masses\r\n)\r\n```\r\n\r\n### Neutrino Physics\r\nTools for neutrino mass estimation:\r\n\r\n```python\r\nfrom astrolib.neutrino_ml import NeutrinoMassEstimator\r\n\r\n# Initialize estimator\r\nestimator = NeutrinoMassEstimator()\r\n\r\n# Estimate mass\r\nmass, uncertainty = estimator.predict(void_catalog)\r\n```\r\n\r\n## Contributing\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n## License\r\nThis project is licensed under the MIT License - see the LICENSE file for details.\r\n\r\n## Citation\r\nIf you use this library in your research, please cite:\r\n\r\n```bibtex\r\n@software{astrolib2025,\r\n  author = {Your Name},\r\n  title = {AstroLib: Advanced Astrophysics Library},\r\n  year = {2025},\r\n  url = {https://github.com/yourusername/astrolib}\r\n}\r\n```\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "High-performance astrophysics library for void finding, neutrino physics, and N-body simulations",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/JFBookwood/astro-void-finder"
    },
    "split_keywords": [
        "astronomy",
        "astrophysics",
        "cosmology",
        "voids",
        "neutrinos",
        "n-body",
        "simulation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cdc57948ac95231477c17a1de178afb4e94f25688f1ca95e000dca19a357618d",
                "md5": "4427f2087608b040efe396e376f3e4e6",
                "sha256": "e1097ecafed1eb6c012a696a417fd1569b0748300fde73a481ce2ccd26c38550"
            },
            "downloads": -1,
            "filename": "astro_void_finder-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4427f2087608b040efe396e376f3e4e6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 26363,
            "upload_time": "2025-09-03T13:54:50",
            "upload_time_iso_8601": "2025-09-03T13:54:50.586459Z",
            "url": "https://files.pythonhosted.org/packages/cd/c5/7948ac95231477c17a1de178afb4e94f25688f1ca95e000dca19a357618d/astro_void_finder-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "07990114c6c16c878b645c835ffd3ce222143a0d71153903beeb379aec54499e",
                "md5": "bc1e331ec64ae8aa3a4f94fc107a00b8",
                "sha256": "eac01001c42eac4de7ed1fbd28d26856db2d6db0be735c62b397dd15e7f5e4be"
            },
            "downloads": -1,
            "filename": "astro_void_finder-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "bc1e331ec64ae8aa3a4f94fc107a00b8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 22044,
            "upload_time": "2025-09-03T13:54:52",
            "upload_time_iso_8601": "2025-09-03T13:54:52.021510Z",
            "url": "https://files.pythonhosted.org/packages/07/99/0114c6c16c878b645c835ffd3ce222143a0d71153903beeb379aec54499e/astro_void_finder-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-03 13:54:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "JFBookwood",
    "github_project": "astro-void-finder",
    "github_not_found": true,
    "lcname": "astro-void-finder"
}
        
Elapsed time: 1.54320s