semvec/pypi-packages huggingface dataset:
whit-phys-util 1.1.0
Tools to support use of Google Colab + GitHub Classroom for physics lab instruction
Requires Python: >=3.10

# Tools for Colab in the Physics Lab
        
        [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
        ![PyPI](https://img.shields.io/pypi/v/whit-phys-util)
        ![PyPI - Downloads](https://img.shields.io/pypi/dm/whit-phys-util)
        ![GitHub last commit](https://img.shields.io/github/last-commit/JohnMLarkin/Colab-for-Physics-Lab-Tools)
        
        Tools to support the use of Google Colab + GitHub for teaching undergraduate physics labs. Support for private repositories enables the use of GitHub Classroom.
        
        ## Installation
        
        This package is primarily intended for use within Google Colab. To install in a Colab notebook:
        ```
        !pip install whit-phys-util
        ```
        
        ## Importing
        
        To import the package after installation:
        ```python
        import whit_phys_util
        ```
        
        ## Creating a GitHub credentials file
        
        If you will be regularly connecting GitHub private repositories to Colab sessions, the recommendation is to create a file containing your GitHub info and store it in your Google Drive.
        
        1. Create a file with the name `.env` or `dotenv` using the plain text editor of your choice.
        2. This file should have the following format:
            ```
            # for git
            user_email = "yourname@host"
            user_name = "your_GitHub_user_name"
            gh_token = "GitHub_personal_access_token"
            ```
            In my case `"yourname@host"` was `"jlarkin@whitworth.edu"` and `"your_GitHub_user_name"` was `"JohnMLarkin"`.
        3. Next, login to GitHub and select **Settings** from the menu hiding under your profile picture.
        4. Select **Developer settings** from the sidebar and then **Personal access tokens**.
        5. Click on the **Generate new token** button.
        6. **Note** is your name for this token so you can remember what it does and where it is used. Picking something like `Colab repo link` makes that clear.
        7. Check the **repo** box and then the **Generate token** button.
        8. Copy this token and paste it into your `.env`/`dotenv` file in place of `GitHub_personal_access_token`.
        9. Move this file to the top-level folder of your Google Drive.
        
        ## Working with a GitHub repository
        
        ### Clone a repository to Colab session storage
        
        Replace `REPO_URL` with the URL to your private GitHub repository:
        ```python
        repo = whit_phys_util.local_repository("REPO_URL")
        ```
        
        If your Google Drive is not already mounted to this Colab session, you will be prompted to do so. If you created the GitHub credentials file as described above, this will then create a clone of the repository located in `/content/REPO_NAME`. Your current working directory will also be changed to this folder.
tpgUtils 0.1.4
shared application utlities.
Requires Python: >=3.10
Keywords: app utils, print util

# tpgUtils

[![image](https://img.shields.io/pypi/v/tpgUtils.svg)](https://python.org/pypi/tpgUtils)
[![image](https://img.shields.io/pypi/l/tpgUtils.svg)](https://python.org/pypi/tpgUtils)
[![image](https://img.shields.io/pypi/pyversions/tpgUtils.svg)](https://python.org/pypi/tpgUtils)

[![image](https://img.shields.io/pypi/dm/app_config?style=flat-square)](https://pypistats.org/packages/tpgUtils)
![Pipeline](https://gitlab.com/tpgllc/tpgUtils/badges/main/pipeline.svg)
![Coverage](https://gitlab.com/tpgllc/tpgUtils/badges/main/coverage.svg)

## Descripton

This package is currently being used to develop and test the gitlab pipeline

A collection of utilities commonly used in applications.  Currently

 - tpgPrint: Print reports to console, file or both



## Packaging Notes

### packaging requirements
build>=1.2.2
packaging>=24.2
twine>=6.0.1 (not need with uv)
wheel>=0.45.1


### packaging doc with setuptools

https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#package-discovery

  pip install --upgrade setuptools[core]

quick steps:
use src-layout
  pip install --upgrade build
  python -m build
  or
  uv build
  pip install --editable .

when done with dev
  pip uninstall <pkg-name>


### packaging doc
https://packaging.python.org/en/latest/tutorials/packaging-projects/
https://packaging.python.org/en/latest/overview/

oicd gitlab doc
https://stefan.sofa-rockers.org/2024/11/14/gitlab-trusted-publisher/?utm_source=chatgpt.com

### upload to pipy (test or prod)
  pip install --upgrade twine
 or
  uv sync --extra dev

#### upload to test env - scoped token
  py -m twine upload --repository testpypi/tpgUtils dist/*
https://test.pypi.org/project/example_package_YOUR_USERNAME_HERE.

#### upload to test env
  py -m twine upload --repository testpypi dist/*
or
  uv publish --publish-url https://test.pypi.org/legacy/ --token <your-token>

view package in test pypi
https://test.pypi.org/

### install package in local env:

  py -m pip install --index-url https://test.pypi.org/simple/ --no-deps example-package-YOUR-USERNAME-HERE

### prod env

upload to prod env
  py -m twine upload --repository pypi dist/*
or
  uv publish --token <your-token>

view:
https://pypi.org/project/package-name
maboss 0.8.12
A python and jupyter API for the MaBoSS software

pyMaBoSS
========

.. image:: https://maboss.curie.fr/images/maboss_logo.jpg
  :width: 300
  :alt: MaBoSS logo
  :align: center

pyMaBoSS is a python API for the `MaBoSS <https://maboss.curie.fr/>`_ software.
It can be used inside the `Colomoto docker <https://hub.docker.com/r/colomoto/colomoto-docker/>`_.
The API is loaded by running the following line in Python::
   
   import maboss
    
Once loaded, it allows you to quickly load a MaBoSS model::
   
   sim = maboss.load("metastasis.bnd", "metastasis.cfg")    
   
And then to simulate the model and plot the simulation results::
   
   res = sim.run()
   res.plot_piechart()

.. image:: https://raw.githubusercontent.com/colomoto/pyMaBoSS/master/doc/sample_piechart.png
  :width: 600
  :alt: Simulation result
  
  
Installation instructions
=========================
  
pyMaBoSS can be installed either via Conda, PyPi or GitHub. 


Installation with Conda
-----------------------

This is the recommended option, as it also allows the simple installation of all the dependencies. 

   conda -c colomoto install pymaboss
   
This will install the library, which will already be ready to use. 


Installation with PyPi
----------------------

This is not the recommended option as it cannot yet package the MaBoSS binaries, but if you already have then install you can just install pyMaBoSS using

   pip install maboss
   

To download the MaBoSS binaries, if you have conda and if you are using linux or macosx, you can run : 

   python -m maboss_setup
   
  
If you are using Windows, or if the command above did not work, you can try to run : 

   python -m maboss_setup_experimental
   
   
Otherwise, you can download them using the following links, for `Linux <https://github.com/sysbio-curie/MaBoSS-env-2.0/releases/latest/download/MaBoSS-linux64.zip>`_, `MacOSX arm64 <https://github.com/sysbio-curie/MaBoSS-env-2.0/releases/latest/download/MaBoSS-osx-arm64.zip>`_, `MacOSX X86_64 <https://github.com/sysbio-curie/MaBoSS-env-2.0/releases/latest/download/MaBoSS-osx64.zip>`_ or `Windows <https://github.com/sysbio-curie/MaBoSS-env-2.0/releases/latest/download/MaBoSS-win64.zip>`_. Once downloaded, you need to extract them and make them accessible by putting them in a folder configured in your PATH. 

Installation with GitHub
------------------------

Finally, you can also install pyMaBoSS directly from the official GitHub repository : 

   git clone https://github.com/colomoto/pyMaBoSS
   
   cd pyMaBoSS
   
   python setup.py install
   
Note that this also comes without the MaBoSS binaries, so to install them you'll have to follow the steps described above.
brs 1.0.0
A python module for reading/creating/writing .brs files for Brickadia.
Requires Python: >=3.12

A .brs reader/writer for brickadia

Brickadia is a multiplayer brick building game

Made for version 14 saves (Brickadia Early Access)

## Example Usage:
### Display info about a save:
```python
import brs
save = brs.readBRS("foobar.brs")
print(save)
```

### Make a save from scratch, with bricks showing the default colorset

```python
import brs

save = brs.BRS.default(brs.User("Speedy Boi", "54937200-3f6e-4d8e-8e65-0e7c0bfcc117"))

#create asset
default_asset = brs.Asset("PB_DefaultBrick", 0)
save.brick_assets.append(default_asset)

for i, col in enumerate(save.colors):
    brick = brs.Brick()
    brick.brick_index = i
    brick.asset = default_asset
    brick.size = brs.Size(5, 5 ,6)  #size of a 1x1 brick
    brick.position = brs.Position((i%12) * 10, (i//12) * 10, 0)
    brick.orientation = brs.Orientation(brs.Direction.Z_POSITIVE, brs.Rotation.DEG_0)
    brick.collision = brs.Collision()   # all True by default
    brick.visibility = True
    brick.material = save.materials[3]  # 4th material is BMC_Plastic
    brick.physical_material = save.physical_materials[0]    # BPMC_Default
    brick.material_intensity = 5        # doesnt matter for plastic
    brick.color = col
    brick.owner = save.brick_owners[0]
    
    # dont forget to increment brick count
    brick.owner.brick_count += 1
    # add the brick to the save
    save.bricks.append(brick)

save.to_file("all_colors.brs")
```
### Make a new component from scratch and add it to a brick:
```python
import brs
...
brick = save.bricks[0]  # take some brick to add a "Component_Target" component to

# create a new Component_Target component with one Property "OnTime" of type Float
new_component = brs.Component()
new_component.index = len(save.components)
new_component.name = "Component_Target"
new_component.version = 1
on_time = brs.Property("OnTime", brs.PropertyType.FLOAT)
new_component.properties = [on_time]

# add component to save
save.components.append(new_component)

# make a component instance and set values
component_instance = brs.ComponentInstance(new_component)
component_instance.property_values = {on_time: 1.234}

# attach the component instance to the brick
brick.components[new_component] = component_instance

# add the brick to the component
new_component.bricks.append(brick)
...
```