semvec/pypi-packages huggingface dataset:
astrostreampy 1.9.0
Package to model stellar tidal streams.
Requires Python: >=3.9

# streamPy

To create a stream model you need the following files:
  - the **IMAGE** file
  - a **MASK** of all neabry, and overlapping sources
  - if other stars or galaxies contaminate the stream's central region, create an additional **INTERPOLATION MASK** for sources to interpolate over

All have to be the same size, otherwise an error is raised. RGB *.TIF*, *.jpg* or *.png* does not work, they need to be in gray scale *.fits* format. 
The **IMAGE** header must contain the following keys:
  - 'FILTER'  : char, the band in which the image was taken.
  - 'PSF'     : float, the mean FWHM of the sources across the image in arc seconds. If there is no interest in the true intrinsic shape parameters of the stream set it to **1**.
  - 'PXSCALE' : float, the pixel scale of the image in arc seconds/pixel.
  - 'ZP'      : float, the photometric zero point.

# Walkthrough
First import all necessary classes and methods and define the files as variables.
```
from astrostreampy.Image.stream import Stream
from astrostreampy.Image.point import Point
from astrostreampy.BuilModel.autobuild import Model
from astrostreampy.BuildModel.modify import Modifier
from astrostreampy.BuildModel.aperture import fwhm_mask_from_paramtab

image = "image.fits"
mask = "mask.fits"
intmask = "interpolationmask.fits"
```
Start by applying the masks using the ```Stream``` class. Note that the masks are parsed as a list. This allows for multiple masks of the same type to apply simultaneously.
```
stream = Stream(image,[mask],[intmask])
stream.apply_masks()
```
Then the initial box position and dimensions can be set with the ```Point``` class. It opens a figure where the point can be set with left mouse click and the box dimensions are chosen with the sliders on the left. 
When satisfied close the plot by closing the window. ```stream.data()``` is the masked image.
```
init_box = Point(stream.data)
```
The modeling is setup and started with the ```Model``` class. The example presents its shortest and simplest form.
```
model = Model(stream.original_data, stream.data, stream.header, 
                  init_box.x, init_box.y, init_box.width, init_box.height, output="model")
model.build() # for further access get full model with .data
model.show() # for quality checks
```
If ```model.show()``` reveals that the algorithm went beyond the stream call the ````Modifier``` class to cut those regions off. A window opens displaying the image, model and residual. Type in the terminal the lower and upper indices sperated by "," and press *ENTER*. The model and residual changes based on the input. Repeat it as often as desired. When finished leave the line empty and press *ENTER* again. It saves the modified files with prefix "mod_".
```
Modifier("model_multifits.fits","model_paramtab.fits")
```
If you are interested in photometric measurements use
``` 
aperture = fwhm_mask_from_paramtab("mod_model_multifits.fits","mod_model_paramtab.fits"
```
to create an aperture mask, which is a ```numpy.ndarray```.
anyh 0.0.1
A small example package
Requires Python: >=3.8

# anyh

#### 介绍
{**以下是 Gitee 平台说明，您可以替换此简介**
Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台（同时支持 SVN）。专为开发者提供稳定、高效、安全的云端软件开发协作平台
无论是个人、团队、或是企业，都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}

#### 软件架构
软件架构说明


#### 安装教程

1.  xxxx
2.  xxxx
3.  xxxx

#### 使用说明

1.  xxxx
2.  xxxx
3.  xxxx

#### 参与贡献

1.  Fork 本仓库
2.  新建 Feat_xxx 分支
3.  提交代码
4.  新建 Pull Request


#### 特技

1.  使用 Readme\_XXX.md 来支持不同的语言，例如 Readme\_en.md, Readme\_zh.md
2.  Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3.  你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4.  [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目，是综合评定出的优秀开源项目
5.  Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6.  Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
modernpackage_pranas 0.0.1
Package configuration example using bleeding edge toolset.
Requires Python: >=3.11

# modernpackage
This package is configured using bleeding edge toolset and serves as an
example/starting point for another new packages.

## Development
Commonly used commands for package development:
- `make check` - run unit tests and linters.
- `make fix` - format code and fix detected fixable issues.
- `make publish` - publishes current package version to pypi.org.
- `make compile` - bump and freeze dependency versions in requirements*.txt files
- `make sync` - upgrade installed dependencies in Virtual Environment (executed after `make compile`)

## Toolset
This package uses these cutting edge tools:
- ruff - for linting and code formatting
- mypy - for type checking
- pip-audit - for known vulnerability detection in dependencies
- deadcode - for unused code detection
- pytest - for collecting and running unit tests
- coverage - for code coverage by unit tests
- hatch - for publishing package to pypi.org
- uv - for Python virtual environment and dependency management
- pyproject.toml - configuration file for all tools
- Makefile - aliases for commonly used command line commands
GDPRUtils 1.0.0
A small example package
Requires Python: >=3.10

> # Mariano 
> 
> Test
---

Questo set di progeammi consente di cifrare/decifrare file in man
Utilizzo:

* Con certificato PKI + chiave privata locale ( crt + key )
* Con certificato PKI online + chiave privata locale ( key )
* Con certificato PKI online + chiave privata online

Nel terzo caso :

il client invia un post al server che deve fornire la chiave privata, per farlo 
il post deve contenere il codice TOTP corretto per il client.

Il server verifica se il TOTP è corretto ed invia come risposta al POST un blocco 
dati cifrato contenente la chiave privata richiesta. 

Il blocco verrà cifrato dal server utilizzando una chiave derivata dalla chiave pubblica PKI 
ma non fornirà al client, nella risposta, questa chiave ma solo il "salt" utilizzato per derivare la chiave stessa.

Ciò significa che un potenziale attaccante non potrà derivare la chiave poichè mancano elementi indispensabili al suo calcolo ( Chiave pubblica PKI e ID CLIENT )

Dkey = HKDF (  chiave pubblica PKI , salt casuale 16 Bytes , info -> IDCLIENT )

Nel blocco inviato dal server ci sarà disponibile il salt non crittografato.

Il ricevitore: 

1. Estrae la chiave pubblica dal certificato
2. Estrae dal blocco ricevuto dal server la parte realtiva al salt
3. Estrae il suo ID dalla configurazione 
4. Deriva la chiave del blocco tramite HKDF
5. Con questa chiave decifra il blocco e ottiene la chiave privata richiesta
6. con la password del punto 5 si può decifrare la password AES GCM utilizzata nella crittazione del file. 
7. Decritta il file


Nota: lato server tutte le chiavi private disponibili devono essere cifrate in pcks#8 con password 
in modo che nel caso di furto delle stesse esse siano inutili.
ficamp 0.13.0
Analyze your bank data and categorize it.
Requires Python: <4.0,>=3.11

# ficamp

> Analyze your bank data and categorize it.

This has been a [PyCamp.es](https://pycamp.es) 2024 project, use with discretion.

## Installation

```sh
pipx install ficamp
```

Alternatively:

```sh
pip install -U --user ficamp
```

## Usage

```terminal
$ ficamp --help
usage: ficamp [-h] [--bank {abn}] filename

Print the first argument from the CLI

positional arguments:
  filename      The spreadsheet to load

options:
  -h, --help    show this help message and exit
  --bank {abn}
```

## Contributing

Read [CONTRIBUTING.md](./CONTRIBUTING.md).
explog 0.0.3
Experiment Logger
Requires Python: >=3.8

# Exp Log - A Minimal Experiment Logger

## Installation

```sh
pip install explog
```

Then, `import explog as xl`.

## Logging

Use `exp = xl.exp(config)` to initialize an experiment and `exp.log(...)` to log statistics.

```python3
import explog as xl
import random

config = {'num_epochs': 100, 'learning_rate': 1e-3, 'batch_size': 32}

exp = xl.exp(config)

for epoch in range(config['num_epochs']):
    loss = random.random() * 1.05 ** (- epoch)
    exp.log(epoch=epoch, loss=loss)
```

- **NB:** Using `xl.log(...)` instead of `exp.log(...)` automatically logs to the latest experiment.
- **NB:** Both `xl.exp(...)` and `xl.log(...)` accept dictionary or kwargs arguments.

## Exploring runs

Retrieve dataframe of experiments using `xl.exps()`.

```ipython
> xl.exps()
          num_epochs  learning_rate  batch_size
_id
w1gf6deg         100          0.001          32
6mwn9cno         100          0.001          32
hdakmy0l         100          0.001          32
```

## Exploring logs

Retrieve dataframe of logs using `xl.logs()`.

```ipython
> xl.logs()
                epoch      loss  num_epochs  learning_rate  batch_size
_id      _step
w1gf6deg 0          0  0.901695         100          0.001          32
         1          1  0.676328         100          0.001          32
         2          2  0.194963         100          0.001          32
         3          3  0.345743         100          0.001          32
         4          4  0.645544         100          0.001          32
...               ...       ...         ...            ...         ...
hdakmy0l 95        95  0.003342         100          0.001          32
         96        96  0.000132         100          0.001          32
         97        97  0.003763         100          0.001          32
         98        98  0.008314         100          0.001          32
         99        99  0.004589         100          0.001          32
```

## Plotting

Use dataframe of logs from `xl.logs()` to make your plots.

```python3
import explog as xl
import matplotlib.pyplot as plt

logs = xl.logs('epoch', 'loss')
logs = logs.groupby('epoch').mean()

plt.plot(logs.index, logs['loss'])
plt.show()
```

## Weights & Biases users

Use aliases `run = xl.init(config)` for `exp = xl.exp(config)` and `xl.runs` for `xl.exps`.

```ipython3
> run = xl.init(config)
> run.log(step=0)
> xl.runs()
          num_epochs  learning_rate  batch_size
_id
z5y6tdm5         100          0.001          32
```