semvec/pypi-packages huggingface dataset:
coloursamples 0.1.5
Python utility for generating JPEG images with specified dimensions and colours
Requires Python: >=3.8

# colourSamples

A Python utility for generating JPEG images with specified dimensions and colors.

## Getting Started

### Installation

Install the package and its dependencies using uv:

```bash
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install the package in development mode
uv pip install -e ".[dev]"
```

Alternatively, install dependencies manually:

```bash
pip install Pillow pytest ruff
```

### Usage

#### Command Line Interface

The package provides a modern CLI with rich formatting and helpful options:

```bash
# Direct command with arguments
coloursamples create 800 600 "#FF5733"

# With custom output directory
coloursamples create 400 300 "3498db" --output-dir ./my_images

# Interactive mode with prompts and defaults
coloursamples create --interactive

# Verbose logging for debugging
coloursamples create 200 150 "#8E44AD" --verbose

# Get help
coloursamples --help
coloursamples create --help

# Display tool information
coloursamples info
```

#### Programmatic Usage

```python
from coloursamples import create_image

# Create a 500x300 red image
create_image(500, 300, "#FF0000")

# Create an image in a specific directory
create_image(100, 100, "#00FF00", "my_output_dir")
```

The function will create an image of the specified size and color, and save it as a JPEG file. The filename will be the color code without the leading '#'.

## Running Tests

Run all tests:

```bash
pytest
```

Run tests with verbose output:

```bash
pytest -v
```

Run a specific test file:

```bash
pytest tests/test_core.py
```

## Development Setup

### Code Formatting and Linting

This project uses ruff for code formatting and linting:

```bash
# Check code style
ruff check .

# Format code
ruff format .
```

### Project Structure

```
colourSamples/
├── src/
│   └── coloursamples/
│       ├── __init__.py
│       ├── core.py           # Main image creation functionality
│       └── cli.py            # Modern typer-based CLI
├── tests/
│   ├── __init__.py
│   └── test_core.py          # Test suite
├── docs/                     # Documentation
├── logs/                     # Log files
├── pyproject.toml            # Project configuration with console scripts
├── README.md                 # This file
└── .gitignore               # Git ignore rules
```

## Contributing

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

Please ensure tests pass and code is formatted before submitting:

```bash
pytest
ruff check .
ruff format .
```
topax 0.1.0
Topax - A Full Stack Implicit Geometry CAD Package for Python
Requires Python: >=3.11

# Topax - A Full Stack Implicit Geometry CAD Package for Python

[![License](https://img.shields.io/github/license/andycate/topax)](LICENSE)

Topax is a CAD package specifically designed for working with implicit
geometry and programmatic CAD generation. It pulls a lot of ideas from
previous work such as [libfive](https://github.com/libfive/libfive). 

What makes this tool special is that it comes with a live viewer/editor
that updates in real-time as python code is changed. Objects are rendered
using direct ray-marching and JIT compiled OpenGL shaders.

**This tool is under active development!** Please consider contributing if
you find this interesting and would like to help out.

## Quick start

For now, this package needs to be installed by cloning the repo. You can
clone the repo with `git clone https://github.com/andycate/topax.git` and
then install the package by running `pip install -e .` inside the cloned
directory.

You can check out the examples in the `examples/` folder by running 
`topax examples/`. Once the shell has opened up, type 
`target("<example_file_name>.py")` with one of the example file names
and the example should appear. Now, try changing some of the parameters
in that file. When you save the file, you'll notice that the model is 
instantly updated.

## The vision + Resources
Not really sure where I'm going with this project, but I found it interesting
to build! I think it would be cool to do a few different things:

1) Optimize the shaders that are generated to increase rendering performance
2) Add a way to make assemblies of single parts
3) Add lots more standard SDFs to the library
4) Add a way to specify variable parameters, and have those parameters adjustable as sliders or buttons on the CAD viewer window
5) Add some kind of interactive manipulation of objects in the CAD viewer window
6) Maybe add a way to run simulations and then use generated fields to manipulate geometry?
7) Some kind of geometry optimization???

Inigo Quilez has written lots of great articles about implicit modeling on [his website](https://iquilezles.org/). So has [Matt Keeter](https://www.mattkeeter.com/), who also developed libfive. Also, there is a commercial CAD package called [nTop](https://www.ntop.com/), which I believe is built on top of libfive.

## Disclaimer
I know that there are certain tools that already exist which do these things, and I'm not trying to replace them, I'm mostly doing this as a learning experience! And maybe some people will find it useful along the way.