semvec/pypi-packages huggingface dataset:
lutzpocflux 0.1.5
Calculate POC Export flux, as Lutz et al. 2007
Requires Python: <4.0,>=3.10

# Lutz POC FLux

LutzPOCFlux is a Python library for calculating POC export flux as detailed in [Lutz et al. 2007](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2006JC003706).

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install LutzPOCFlux.

```bash
pip install lutzpocflux
```

Numpy is the only dependency. Other parts of the process, such as reading HDF files and plotting results are expected to be done with other packages.

## Usage

There is a convenience class for calculating Flux given a list of annual npp arrays and a `ze` array (or float value).

This handles

* Creation of the SVI array
* Creation of the total average array
* Calculation of the p ratio_ze
* Application of the ratio to the total average array

```python
from lutzpocflux import MakeFlux
mf = MakeFlux(ze=ze, annual_npp=npp_list)
flux = mf.get_flux()
```

Alternatively the calculated flux ratio can be used against another npp array provided seperately.

```python
from lutzpocflux import MakeFlux
mf = MakeFlux(ze=4000.0, annual_npp=npp_list, npp=some_other_npp)
flux = mf.get_flux()
```

Or the equations can be used on their own.

```python
from lutzpocflux.equations import (
    prd_f,
    rld_f,
    prr_f,
    pratioze_f,
)

# Assuming you already have an average npp and SVI layer, you can
# calculate individual parameters
rld = rld_f(svi)
prd = prd_f(svi)
prr = prr_f(svi)

# ze can be a 2D array of the same shape as the npp input arrays or a float value
pratio = pratioze_f(prd,ze,rld,prr)

# Now use the pratio to calculate your export npp given your choice of npp array:
npp_flux = npp * pratio
```

## Contributing

Pull requests are welcome. For major changes, please open an issue first
to discuss what you would like to change.

Please make sure to update tests as appropriate.

## Acknowledgments
Results were tested agains the R package [here](https://rdrr.io/github/chihlinwei/OceanData/src/R/lutz_p_flux.R)

## License

[MIT](https://choosealicense.com/licenses/mit/)
ultttt 1.0.0
♟️ Ultimate tic-tac-toe game GUI application using Python and PyGame
Requires Python: >=3.12
Keywords: board-game, gui, pygame, python, tic-tac-toe, ultimate-tic-tac-toe, uv

# Ultimate tic-tac-toe

♟️ Ultimate tic-tac-toe game GUI application using Python and PyGame

<p align=center>
  <img src="https://github.com/user-attachments/assets/c6fd92b5-f10a-4507-8627-4acdddd829ba">
</p>

🎨 Has a GUI! \
🤖 Uses GitHub Actions to produce PyInstaller binaries \
🏫 Made for UW-Whitewater Introduction to Python Programming final project \
🧠 Learned about [uv](https://docs.astral.sh/uv/)

## Installation

![GitHub](https://img.shields.io/static/v1?style=for-the-badge&message=GitHub&color=181717&logo=GitHub&logoColor=FFFFFF&label=)
![PyPI](https://img.shields.io/static/v1?style=for-the-badge&message=PyPI&color=3775A9&logo=PyPI&logoColor=FFFFFF&label=)

The best way to install this application is to download the platform-specific precompiled binary from [the latest release](https://github.com/jcbhmr/ultttt/releases/latest).

<dl>
<dt>Windows x86-64
<dd>https://github.com/jcbhmr/ultttt/releases/download/v1.0.0/ultttt-win_amd64-1.0.0.zip
<dt>macOS x86-64
<dd>https://github.com/jcbhmr/ultttt/releases/download/v1.0.0/ultttt-macosx_10_9_x86_64-1.0.0.tar.gz
<dt>macOS AArch64
<dd>https://github.com/jcbhmr/ultttt/releases/download/v1.0.0/ultttt-macosx_11_0_arm64-1.0.0.tar.gz
<dt>Linux x86-64
<dd>https://github.com/jcbhmr/ultttt/releases/download/v1.0.0/ultttt-linux_x86_64-1.0.0.tar.gz
</dl>

This package is also published to PyPI if you prefer to install it from there:

```sh
uv tool install ultttt
```

## Development

![Python](https://img.shields.io/static/v1?style=for-the-badge&message=Python&color=3776AB&logo=Python&logoColor=FFFFFF&label=)
![uv](https://img.shields.io/static/v1?style=for-the-badge&message=uv&color=DE5FE9&logo=uv&logoColor=FFFFFF&label=)

This project uses [uv](https://docs.astral.sh/uv/) as its Python toolchain. Why uv and not Poetry or something else? Because uv unifies everything _including installing the right Python version_. uv is [not a task runner yet](https://github.com/astral-sh/uv/issues/5903) and as such we use [Poe the Poet](https://poethepoet.natn.io/) to define our tasks.

The most interesting thing to do is build the `ultttt` executable binary using [PyInstaller](https://pyinstaller.org/):

```sh
uv run poe build-exe
```

Release process:

1. Change the version in `pyproject.toml`
2. Change the URLs in the readme to match the new version that you are about to release
3. Run the release workflow manually
4. Make sure it looks good
5. Publish the release to trigger the PyPI release workflow
6. Make sure that works and you're done! 🎉