Metadata-Version: 2.4
Name: lambdapic
Version: 0.15.1
Summary: A Particle-in-Cell framework with dynamic behavior modification through callbacks
Author-email: xsgeng <xsgeng@siom.ac.cn>
Project-URL: Homepage, https://github.com/xsgeng/lambdapic
Keywords: Plasma Physics,Strong field,PIC
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: numba
Requires-Dist: scipy
Requires-Dist: pydantic
Requires-Dist: tqdm
Requires-Dist: loguru
Requires-Dist: deprecated
Requires-Dist: mpi4py
Requires-Dist: pymetis; platform_system != "Windows"
Requires-Dist: impi_rt; platform_system == "Windows"
Requires-Dist: h5py
Requires-Dist: matplotlib
Requires-Dist: yaspin
Requires-Dist: packaging
Requires-Dist: requests
Requires-Dist: typer
Requires-Dist: threadpoolctl
Requires-Dist: dill
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == "test"
Requires-Dist: pytest-mpi>=0.6; extra == "test"
Requires-Dist: pytest-cov>=4.0; extra == "test"
Requires-Dist: pytest-xdist>=3.0; extra == "test"
Requires-Dist: codecov>=2.0; extra == "test"
Dynamic: license-file

# Introduction
<div style="text-align:center;">

![λPIC](lambdaPIC.svg)
</div>
λPIC is a callback-centric Particle-In-Cell framework.
It enables the customization of simulation behavior through callbacks at various stages, even when the modifications are unphysical.
The flexibility of λPIC makes it easy to implement plugins, allowing developers to extend functionality seamlessly without modifying the core simulation logic.

Visit the [documentation](https://lambdapic.readthedocs.io/) for installation and usage instructions.

## Contributing

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

A detailed class diagram is available in the [documentation](docs/core-classes.md).

## Development Status

λPIC is currently in active development. The API may change without notice.

## License

This project is licensed under the GPL-3.0 License.

## Citation

If you use λPIC in your research, please cite:

- *λPIC: A callback-centric particle-in-cell framework*, arXiv:2607.13507 [physics.comp-ph] (2026). https://arxiv.org/abs/2607.13507

BibTeX:

```bibtex
@article{geng2026lambdapic,
  title={$\lambda$PIC: A callback-centric particle-in-cell framework},
  author={Geng, Xuesong and Cui, Yunwei and Zhang, Lingang and Ji, Liangliang},
  journal={arXiv preprint arXiv:2607.13507},
  year={2026},
  eprint={2607.13507},
  archivePrefix={arXiv},
  primaryClass={physics.comp-ph}
}
```

## Acknowledgments

This work was supported by the National Natural Science Foundation of China (NSFC) under Grant No. 12304384.

This project was inspired by and adapted elements from the [EPOCH](https://github.com/Warwick-Plasma/epoch) and the [Smilei](https://github.com/SmileiPIC/Smilei) projects.
