Skip to main content

A set of commandline tools for manipulating UFF files.

Project description

UFFUtils

A Python-based command-line tool for manipulating UFF datasets.

PyPI version PyPi status Release date Python Package CI Monthly downloads License Python versions

Introduction

UFFUtils lets you inspect and manipulate UFF files. Let's look at an example.

Say you have some dataset - my_data.uff - that you want to reduce in size (e.g., by only taking every 1000th node), scale from mm to m, rotate around the y-axis by 90 degrees. With UFFUtils, you would do this in the following way:

uffutils subset my_data.uff --step 1000 `
uffutils scale --length 0.001 `
uffutils rotate - rotated.uff --angles 0 90 0

Congratulations! You now have a reduced, scaled and rotated version of your dataset!

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

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

Usage

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 input.uff output.uff --ids "1,2,3"  # Only takes nodes 1, 2 and 3
uffutils subset input.uff output.uff --step 1000  # Takes every 1000th node, starting at 1 
uffutils subset input.uff output.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 input.uff output.uff --selection "10,20,30,40,50" --step 2 --max 2

The scale command

You can scale length:

uffutils scale input.uff output.uff --length 1000 

The translate command

You can translate the data:

uffutils translate input.uff output.uff --xyz 10.0 20.0 30.0 

The rotate command

You can rotate the data:

uffutils rotate input.uff output.uff --angles 90 90 90

Combining commands

You can combine commands through piping, like so:

uffutils subset input.uff --step 100 | `
    uffutils scale --length 1000 | `
    uffutils move --xyz 10 20 30 | `
    uffutils rotate - output.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.6.0.tar.gz (57.7 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.6.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for uffutils-0.6.0.tar.gz
Algorithm Hash digest
SHA256 318178439c9f556a92f882889cadc1383bd347cf07f9b5b74ce496762125d491
MD5 928ecf5f24aa38fdd408c36c6b65b774
BLAKE2b-256 349a966cd62269964de5afa40aca179b4a6e8f442642334f83f72baeb81e4828

See more details on using hashes here.

Provenance

The following attestation bundles were made for uffutils-0.6.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.6.0-py3-none-any.whl.

File metadata

  • Download URL: uffutils-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3dc1507e0c8cb7891d1360def902d58f66c03c0516cd71216e77bca57f571a7a
MD5 e84a872e2674e1de5a51352109cfb128
BLAKE2b-256 f543176c8cdffb7ecb2d157c608662f7519daeeab55f691b5d1bd5986595b63f

See more details on using hashes here.

Provenance

The following attestation bundles were made for uffutils-0.6.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