Skip to main content

PyAltium

A tool to process Altium file types. Currently this tool is in alpha and does not have any parts fully functioning, except for the listing of PCBLib and SCHLib libraries.

See full documentation here (WIP): pyaltium.readthedocs.io

Project Progress

The goal of this project is to support most file types used by Altium. Reading is a priority, writing will be implemented for some types. The status of various file types is listed below:

Extension List Items Display Write Documentation
Binary Schematic Library .SchLib ✓ WIP WIP
Binary PCB Library .PcbLib ✓ WIP WIP
Binary Schematic Doc .SchDoc
Binary PCB Doc .PcbDoc
Draftsman Doc .PcbDwf
PCB Project .PrjPcb
Material Library .xml ✓ N/A ✓ WIP (see test_matlib in the meantime)
Any templates Not Planned

Usage

SchLib

Sample usage:

import pprint
from pyaltium import SchLib

# Set up our pretty printer so our output is understandable
pp = pprint.PrettyPrinter(indent=4)

sl = SchLib("myfile_name.SchLib")
pp.pprint(SchLib.list_items())

This returns something like the following with more elements:

[
    {
        "libref": "ref1",
        "description": "My description",
        "sectionkey": "Section Key" // This is unneeded, just for internals
    }
]

PCBLib

Currently the only PCB library capability is creating a list of footprints

Sample usage:

import pprint
from pyaltium import SchLib

# Set up our pretty printer so our output is understandable
pp = pprint.PrettyPrinter(indent=4)

sl = SchLib("myfile_name.SchLib")
pp.pprint(SchLib.list_items())

Returns:

[
    {
        "footprintref": "ref1",
        "height": "2.8", // mm
        "description": "My description"
    },
    // ...
]

Contributing

Have an idea? Open an issue! Have a change? submit a PR!

Note that I have a long ways to go on this so don't expect too much as of now. Help is always welcome.

Licensing

This project is licensed under GPLv3. Basically you can use this however you want but if you distribute (aka sell) something with it, you need to make the source available. Once this project gains some traction, I'll be open to moving to MIT if there's demand for it.

Metadata

Release files for PyAltium 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PyAltium 0.4.0
File Size Uploaded
PyAltium-0.4.0.tar.gz 27.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PyAltium 0.4.0
File Interpreter ABI Platform
PyAltium-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 58.1 kB

Release files / PyAltium-0.4.0.tar.gz

Download URL PyAltium-0.4.0.tar.gz
Size 27.2 kB
Tags Source
SHA-256 checksum
How to use checksums
34e1b0208146470cadb6b180fa6e1220e982cee03c9c43c19c87b79d037839c9
BLAKE2b-256 checksum
How to use checksums
c0f36131e00ee0b72e70c8345672f2b0cf481673cbf9e278a4f30e8721a3672b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.13

Release files / PyAltium-0.4.0-py3-none-any.whl

Download URL PyAltium-0.4.0-py3-none-any.whl
Size 30.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
98fad7b9b1d6b907631cc03294fadec8171ea135829b04a747dc487c7dfa060a
BLAKE2b-256 checksum
How to use checksums
20e34f37739ded6f66da533d5be103bc45b8407ee97678076788c66ca908bd01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page