Skip to main content

A set of commandline tools for manipulating UFF files.

Project description

UFF Utils

A modular tool for manipulating UFF datasets_

PyPI version Code style: black Python versions example branch parameter


UFF Utils is a command-line tool for inspecting and manipulating UFF files (e.g., take subsets, move, rotate, scale). For example, if you want to take a subset of every 1000th node, scale from m to mm, and inspect the resulting file, you can do:

uffutils subset in.uff subset.uff --step 1000
uffutils scale subset.uff scaled.uff --length 1000
uffutils inspect scaled.uff

For more functionality, see the description of each command below.

Installing

A good way to run UFF utils is through uv. Once you have installed uv, you can run uffutils like so:

uvx uffutils --help

No need for any additional software (e.g., Python); uv handles it for you.

The inspect command

The inspect command allows you to view the contents of a UFF file. Example usage:

uffutils inspect my_file.uff  # Print nice overview 
uffutils inspect my_file.uff --nodes # Print full list of nodes

The subset command

Allows you to create file with a subset of nodes, which is particularly useful if you want to downsize a UFF file. Usage:

uffutils subset in.uff out.uff --ids "1,2,3"  # Only takes nodes 1, 2 and 3
uffutils subset in.uff out.uff --step 1000  # Takes every 1000th node, starting at 1 
uffutils subset in.uff out.uff --max 100 # Takes the first 100 nodes 

Operations can be combined. The following operation yields a file with nodes 10 and 30.

uffutils subset in.uff out.uff `
    --selection "10,20,30,40,50"
    --step 2
    --max 2

The scale command

You can scale length:

uffutils scale in.uff out.uff --length 1000 

The move command

You can translate the data:

uffutils move in.uff out.uff --xyz 10.0 20.0 30.0 

The rotate command

You can rotate the data:

uffutils rotate in.uff out.uff --angles 90 90 90

Combining operations in a single command

You can combine commands through piping, like so:

uffutils subset in.uff --step 100 | `
    uffutils scale --length 1000 | `
    uffutils move --xyz 10 20 30 | `
    uffutils rotate - out.uff --xyz 90 0 0 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uffutils-0.5.0.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uffutils-0.5.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file uffutils-0.5.0.tar.gz.

File metadata

  • Download URL: uffutils-0.5.0.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for uffutils-0.5.0.tar.gz
Algorithm Hash digest
SHA256 54a10cb9e55e3a0a8eaeef7a356997c76ea0c2d92531048c445133a68bdf1cd7
MD5 26f051f620a55eaa95183848718125eb
BLAKE2b-256 bce1e739d4d0ff7b8ff6c74b95af204682a841b9e46b5eef43a24fb382b126ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for uffutils-0.5.0.tar.gz:

Publisher: python-publish.yml on janheindejong/uffutils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uffutils-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: uffutils-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for uffutils-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 61d71e88c1d5fe4f566ba499e5e128697e9b0e54064fe40e37c6b4cb7d22c80f
MD5 ba9dde69ec92956960f1108d0f7217bb
BLAKE2b-256 3f5d808af1bc66d1eaab66bdef1e11adea4dcd2bbc999bd132d553164199991b

See more details on using hashes here.

Provenance

The following attestation bundles were made for uffutils-0.5.0-py3-none-any.whl:

Publisher: python-publish.yml on janheindejong/uffutils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page