# 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"
}