cfinterface 1.8.0
pip install cfinterface==1.8.0
Released:
Interface for handling custom formatted files
Navigation
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
Unverified details
These details have not been verified by PyPIMeta
- License: MIT License (MIT License Copyright (c) 2022 Rogerio Alves Permission is hereby granted, free of charge, to any ...)
- Author: Rogerio Alves
- Requires: Python >=3.10
-
Provides-Extra:
dev
Classifiers
- Development Status
- Intended Audience
- License
- Operating System
- Programming Language
Project description
cfinterface
Python package that contains a framework for dealing with custom file formats, modulating reading, data formatting and writing in a scalable and modular way.
Summary
cfinterface
is a framework for designing low-level interfaces that depends on complex text or binary file parsing. It provides components for modeling lines, registers, blocks and sections in a declarative way and aggregate these blocks as components for defining files.
Suppose that a complex text file needs to be parsed and the contents of lines with a specific identifier must be extracted and validated. For instance, the line follows the format:
DATA_HIGH ID001 sudo.user 10/20/2025 901.25
If DATA_HIGH
is the identifier that specifies the lines to be read, than one can model it with the Register
class in the cfinterface
framework.
class DataHigh(Register):
IDENTIFIER = "DATA_HIGH"
IDENTIFIER_DIGITS = 9
LINE = Line(
[
LiteralField(size=6, starting_position=11),
LiteralField(size=9, starting_position=19),
DatetimeField(size=10, starting_position=30, format="%M/$d/%Y"),
FloatField(size=6, starting_position=42, decimal_digits=2),
]
)
A Register
depends on the definition of a Line
object, that is composed of Field
objects. By modeling these elements on a declarative way, the user gains access to reading / writing functions on the fly, and the Register
may be added to a RegisterFile
object, so that it can be read / written together with many other registers to files.
Despite the Register
model, files can also be composed of Blocks
and Sections
, and their interfaces can be done to text
or binary
formats. For more information, the docs are available here.
Install
cfinterface
requires python >= 3.10. It this requirement is met, than one may install the framework with
python -m pip install cfinterface
Documentation
Guides, tutorials and references may be found at the package's official site: https://rjmalves.github.io/cfinterface
Project details
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
Unverified details
These details have not been verified by PyPIMeta
- License: MIT License (MIT License Copyright (c) 2022 Rogerio Alves Permission is hereby granted, free of charge, to any ...)
- Author: Rogerio Alves
- Requires: Python >=3.10
-
Provides-Extra:
dev
Classifiers
- Development Status
- Intended Audience
- License
- Operating System
- Programming Language
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cfinterface-1.8.0.tar.gz
.
File metadata
- Download URL: cfinterface-1.8.0.tar.gz
- Upload date:
- Size: 36.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 198abf94eb57d8d861e8fc81f15aa0b95d20f7e48e40057a9db2c4d184c357aa |
|
MD5 | 74e91ee30c3dc5e4e59a5ffa487f65c7 |
|
BLAKE2b-256 | 80f3c45fc7c4341dd20655dbdf6a870ec6e5013c1979c9a6cd1de2761771c84c |
Provenance
The following attestation bundles were made for cfinterface-1.8.0.tar.gz
:
Publisher:
publish.yml
on rjmalves/cfinterface
-
Statement:
- Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
cfinterface-1.8.0.tar.gz
- Subject digest:
198abf94eb57d8d861e8fc81f15aa0b95d20f7e48e40057a9db2c4d184c357aa
- Sigstore transparency entry: 152700998
- Sigstore integration time:
- Permalink:
rjmalves/cfinterface@cb3c158396e742f590b5d59b109431ca0656d12b
- Branch / Tag:
refs/tags/v1.8.0
- Owner: https://github.com/rjmalves
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
publish.yml@cb3c158396e742f590b5d59b109431ca0656d12b
- Trigger Event:
release
- Statement type:
File details
Details for the file cfinterface-1.8.0-py3-none-any.whl
.
File metadata
- Download URL: cfinterface-1.8.0-py3-none-any.whl
- Upload date:
- Size: 36.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cde8dbf8c8d59762ca215264cfe23c4717b7f40d000e564d7beab9e2f0f1dc3 |
|
MD5 | 2bdb89bb43547ff877e4cc8ea46b6718 |
|
BLAKE2b-256 | 03cc9c7514a29b2714297ba06a073d36feb9fea5eba30e118395c34985f07961 |
Provenance
The following attestation bundles were made for cfinterface-1.8.0-py3-none-any.whl
:
Publisher:
publish.yml
on rjmalves/cfinterface
-
Statement:
- Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
cfinterface-1.8.0-py3-none-any.whl
- Subject digest:
7cde8dbf8c8d59762ca215264cfe23c4717b7f40d000e564d7beab9e2f0f1dc3
- Sigstore transparency entry: 152700999
- Sigstore integration time:
- Permalink:
rjmalves/cfinterface@cb3c158396e742f590b5d59b109431ca0656d12b
- Branch / Tag:
refs/tags/v1.8.0
- Owner: https://github.com/rjmalves
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
publish.yml@cb3c158396e742f590b5d59b109431ca0656d12b
- Trigger Event:
release
- Statement type: