semvec/pypi-packages huggingface dataset:
pypopgenbe 1.5.5
Port of PopGen MATLAB backend
Requires Python: >=3.12
Keywords: Virtual human population generator, Population variability, QIVIVE, PBPK, Reverse dosimetry

# PyPopGenBE

PyPopGenBE is a port of the [PopGen MATLAB backend](https://xnet.hsl.gov.uk/Popgen/) reported in [McNally et al., 2014](https://doi.org/10.1016/j.tox.2013.07.009).

[Try the live app](https://pypopgen.github.io/)

## Getting Started

Install the package from pypi.org:

``` console
$ python3 -m pip install pypopgenbe
```

From a Python prompt, sample 10 individuals, and list their heights and liver masses: 

``` python
>>> from pypopgenbe import Dataset, generate_pop
>>> population, number_of_individuals_discarded = generate_pop(
    population_size=10,
    dataset_name=Dataset.P3M,
    age_range=(18, 60),
    bmi_range=(20, 25),
    height_range=(100, 150),
    prob_of_male=0.5,
    probs_of_ethnicities=(0.3, 0.4, 0.3),
    is_richly_perfused_tissue_discrete=[
        False,
        False,
        False,
        True, # kidneys
        False,
        True, # liver
        False,
        False,
        False,
        False
    ],
    is_slowly_perfused_tissue_discrete=[
        True, # adipose
        False,
        False,
        False
    ],
    seed=42,
)
>>> population['Roots']['Names']
['Age', 'Sex', 'Ethnicity', 'Body Mass', 'Height', 'Cardiac Output']
>>> heights = population['Roots']['Values'][:,4]
>>> heights
array([161.73342684, 162.40729026, 156.1832546, 151.2041105, 164.37847922, 163.77112667, 158.80653778, 152.14851135, 155.82766881, 157.63376385])
>>> population['Tissues']['Names']
['Lung', 'Kidneys', 'Liver', 'Adipose', 'Liver Total', 'Slowly Perfused', 'Richly Perfused', 'Lung Bronchial']
>>> population['Tissues']['Properties']
['Mass', 'Flow']
>>> liver_masses = population['Tissues']['Values'][:,2][:,0]
>>> liver_masses
array([2.58117028, 2.83772054, 1.6478209, 2.1865733, 2.41184484, 1.90865662, 2.10913417, 1.7031989, 1.06043036, 2.60443474])

```

Export the population data to CSV:

``` python
>>> from pypopgenbe import pop_to_csv
>>> csv = pop_to_csv(population)
>>> import os
>>> with open("./test.csv", "w") as f:
    f.writelines(line + os.linesep for line in csv)
```
netbox-nas 1.0.4
Add NAS entities to NetBox

## netbox-nas

A plugin to enable managment of NAS resources.

This plugin introduces four new models:
  - NAS Cluster: The NAS resource provider, e.g. a NAS head node or cluster of nodes. NetBox Devices can be linked to this.
  - NAS Volume: The share backing volume used by the NAS cluster.
  - NAS Share: The share itself, e.g. NFS export, CIFS share, CephFS path, etc.
  - NAS Mount: The mount definition. This describes how a share should be mounted on a particular resource. NetBox Devices, Virtual Machines, and Prefixes can be linked to this currently.

![Object Links](assets/images/model-links.png)

## Requirements
Minimum NetBox version:
  - v1.0.3: NetBox 3.7.8
  - v1.0.2: NetBox 4.0.0
  - v1.0.1: NetBox 3.4.0
  - v1.0.0: NetBox 3.4.0
crucible-sdk 1.0.1
A simple tool for generating client libraries from OpenAPI schemas
Requires Python: <4.0,>=3.10

# Crucible
Crucible is a CLI tool for generating and updating SDKs from OpenAPI specifications. It automates the creation of SDKs and ensures they remain up-to-date with the latest API changes.

## Features

* Generate a new SDK project with a predefined structure.
* Update the SDK codebase based on the latest OpenAPI specification.
* Supports automatic updates via GitHub Actions.
* Manages dependencies and packaging using Poetry.

## Installation
To install Crucible, you can use pipx:

## Usage

```bash
pipx install crucible
```

### Create a New SDK Project
To create a new SDK project:

```bash
crucible create_project my_sdk_project
```

This command will generate a new project with the following structure:

```plaintext
my_sdk_project/
├── causadb/
│   ├── __init__.py
│   ├── ...
├── tests/
│   ├── __init__.py
│   ├── test_example.py
├── pyproject.toml
├── README.md
├── setup.cfg
└── LICENSE
```

### Update the SDK Codebase
To update the SDK codebase based on the latest OpenAPI specification:

```bash
crucible update_sdk crucible.yaml openapi.yaml causadb
```

This command will regenerate the code in the causadb/ directory while keeping other files like README, version, and tests persistent.

### Integration with GitHub Actions
You can automate the update process by integrating Crucible with GitHub Actions. Create a workflow file .github/workflows/generate_sdk.yml:

```yaml
name: Generate SDK

on:
  push:
    paths:
      - openapi.yaml

jobs:
  generate-sdk:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: '3.8'

    - name: Install Poetry
      run: |
        curl -sSL https://install.python-poetry.org | python3 -
        export PATH="$HOME/.poetry/bin:$PATH"
        poetry --version

    - name: Install dependencies
      run: |
        export PATH="$HOME/.poetry/bin:$PATH"
        poetry install

    - name: Update SDK
      run: |
        export PATH="$HOME/.poetry/bin:$PATH"
        crucible update_sdk crucible.yaml openapi.yaml causadb

    - name: Commit and push changes
      run: |
        git config --global user.name 'github-actions'
        git config --global user.email 'github-actions@github.com'
        git add causadb/
        git commit -m 'Regenerate SDK from updated OpenAPI specification'
        git push
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```

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