Skip to main content

A tool for reading and transforming PDZ 24 and PDZ 25 formats

Project description

PDZ-Tool

PDZ-Tool is a Python library for reading PDZ files and converting them into CSV or JSON formats. PDZ files are commonly used to store data from X-ray fluorescence (XRF) instruments, and this tool allows easy extraction and transformation of the data for analysis.

🚀 Features

  • Read PDZ files in version 24 and 25 formats.
  • Parse and extract important information from the PDZ file into JSON format.
  • Convert the parsed data to CSV format for further analysis.
  • Save the parsed data to a JSON file.
  • CLI tool for parsing and converting PDZ files.
  • Demo script to help you get started.
  • Verbose and debug modes to help troubleshoot issues during parsing.

📥 Installation

You can install pdz-tool via pip.

pip install pdz-tool

📖 Usage

#### 1. Importing and Initializing PDZTool
from pdz_tool import PDZTool

# Initialize a PDZTool object
pdz_tool = PDZTool('path/to/pdz_file.pdz')

#### 2. Parsing a PDZ File
parsed_data = pdz_tool.parse()

#### 3. Accessing Parsed Data as a Dictionary
record_names = pdz_tool.record_names  # Record names found on the pdz file
for record_name in record_names:
    print(f"Record Name: {record_name}")
    print(parsed_data[record_name])
    
#### 4. Converting Parsed Data to JSON
json_data = pdz_tool.to_json()
print(json_data)

#### 5. Saving Parsed Data to JSON File
pdz_tool.to_json('output.json')

#### 6. Saving Parsed Data to CSV
pdz_tool.to_csv('output.csv')

💻 CLI Usage:

pdz-tool path/to/pdz_file.pdz

see pdz-tool --help for more options.

🎓 Demo

Demo folder is included in the project, containing example PDZ files to help you get started. You can run the demo script to test the functionality of the PDZ-Tool:

python demo/demo_script.py

⚙️ Development

Cloning the Repository

If you wish to modify or extend the tool, clone the repository:

git clone git@github.com:bducraux/pdz-tool.git
cd pdz-tool

📦 Dependencies

Installing Poetry

This project uses Poetry for dependency management. If you don't have Poetry installed, you can install it by running:

pip install poetry

Installing Dependencies

To install the dependencies, run:

poetry install

🤝 Contributing

Contributions are welcome! If you find any bugs or have suggestions for new features, feel free to open an issue or submit a pull request.

📜 License

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

📧 Contact

For any inquiries or support, please reach out at bruno.drx@gmail.com.

Thank you for using PDZ-Tool! 🎉😊

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

pdz_tool-0.2.5.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

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

pdz_tool-0.2.5-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file pdz_tool-0.2.5.tar.gz.

File metadata

  • Download URL: pdz_tool-0.2.5.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.11.11 Linux/6.14.0-29-generic

File hashes

Hashes for pdz_tool-0.2.5.tar.gz
Algorithm Hash digest
SHA256 c01d13d9ee7c4a105a707c09f96e5256a5cd5e7e539748bc4dce9c81e3f19603
MD5 fc730e8edde3a9139a3e14d95845f4d3
BLAKE2b-256 736011b773ac084c44d06267b505cc4b262bd50984d6396abc1d92693a3ff903

See more details on using hashes here.

File details

Details for the file pdz_tool-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: pdz_tool-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.11.11 Linux/6.14.0-29-generic

File hashes

Hashes for pdz_tool-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ed4141f6eb3bdf9e0244b76699024c8b049890a65cf151b453274062834d57d5
MD5 a42ff86ca33b3333121cf553d35ea795
BLAKE2b-256 01d9a7c318c0bee6828c08e6eb6b67ab4ef123aab98a46be61f80422cc80d02b

See more details on using hashes here.

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