ukaea-multiparser
Multiple File Parser for monitoring and processing updates to a given set of output files.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.2%) to scientific vocabulary
Keywords
Repository
Multiple File Parser for monitoring and processing updates to a given set of output files.
Basic Info
- Host: GitHub
- Owner: ukaea
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://ukaea.github.io/Multiparser/
- Size: 3.17 MB
Statistics
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
- Releases: 6
Topics
Metadata Files
README.md
Multiparser
Multiparser is module for performing functionality across a set of output files. Given a set of files, and optionally a list of output parameter names or regex filters the module keeps track of changes by monitoring the "last modified" timestamp of each file and executing the assigned callback.
For example, in the case where a set of model outputs were written to a set of files the user is able to specify which files are of importance, the variables to be noted within these files, and a function to execute whenever a change is made to one of these files.
Installation
The module is available in PyPi:
sh
pip install ukaea-multiparser
To install optional extras arrow and fortran list them during the install, e.g.:
sh
pip install ukaea-multiparser[fortran,arrow]
Example
python
with FileMonitor(
per_thread_callback=callback_function,
lock_callback=True,
interval=10.0,
flatten_data=True
) as monitor:
monitor.track(
path_glob_exprs=["file_of_interest.toml", "out_dir/*.other"],
tracked_values=[
"list", "of", "interesting", "values",
re.compile(r"^list"),
re.compile(r"of\s"),
re.compile(r"regular"),
re.compile(r"Expressions")
],
static=True
)
monitor.run()
...
monitor.terminate()
Documentation
For information on use and functionality please see the documentation.
Licensing
Multiparser is provided under the MIT license allowing reuse within both open source and proprietary software.
Contributing
For contributions and development towards improving Multiparser please see the included CONTRIBUTING.md file.
Copyright (c) 2024 UK Atomic Energy Authority
Owner
- Name: UK Atomic Energy Authority
- Login: ukaea
- Kind: organization
- Website: https://www.gov.uk/government/organisations/uk-atomic-energy-authority
- Repositories: 22
- Profile: https://github.com/ukaea
Citation (CITATION.cff)
cff-version: 1.2.0
title: "Multiparser: A parallel multiple file parse trigger system"
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Kristian
family-names: Zarebski
orcid: 'https://orcid.org/0000-0002-6773-1049'
affiliation: United Kingdom Atomic Energy Authority
- given-names: Aby
family-names: Abraham
affiliation: United Kingdom Atomic Energy Authority
- given-names: Andrew
family-names: Lahiff
affiliation: United Kingdom Atomic Energy Authority
- given-names: Matthew
family-names: Field
orcid: 'https://orcid.org/0009-0004-1390-0697'
affiliation: United Kingdom Atomic Energy Authority
- given-names: James
family-names: Panayis
affiliation: United Kingdom Atomic Energy Authority
abstract: >-
A parallel parsing module for Python allowing dynamic
extraction of data from files.
keywords:
- parsing
license: MIT
repository-code: "https://github.com/ukaea/multiparser"
url: "https://ukaea.github.io/multiparser/"
commit: ee53dca6791daeb07f082bf30f5254427e8d3e31
version: 1.0.4
date-released: '2024-09-24'
GitHub Events
Total
- Create event: 51
- Issues event: 1
- Release event: 1
- Watch event: 1
- Delete event: 47
- Issue comment event: 10
- Push event: 55
- Pull request event: 97
Last Year
- Create event: 51
- Issues event: 1
- Release event: 1
- Watch event: 1
- Delete event: 47
- Issue comment event: 10
- Push event: 55
- Pull request event: 97
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 19
- Average time to close issues: N/A
- Average time to close pull requests: 8 days
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.21
- Merged pull requests: 14
- Bot issues: 0
- Bot pull requests: 18
Past Year
- Issues: 0
- Pull requests: 19
- Average time to close issues: N/A
- Average time to close pull requests: 8 days
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.21
- Merged pull requests: 14
- Bot issues: 0
- Bot pull requests: 18
Top Authors
Issue Authors
- dependabot[bot] (3)
- wk9874 (1)
Pull Request Authors
- dependabot[bot] (175)
- kzscisoft (4)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 244 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 6
- Total maintainers: 1
pypi.org: ukaea-multiparser
Multiple File Parser for monitoring and processing updates to a given set of output files.
- Documentation: https://ukaea.github.io/Multiparser/
- License: MIT License
-
Latest release: 1.0.4
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v4 composite
- github/codeql-action/analyze v3 composite
- github/codeql-action/autobuild v3 composite
- github/codeql-action/init v3 composite
- actions/checkout v3 composite
- jpetrucciani/ruff-check 0.1.0 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- 115 dependencies
- interrogate ^1.5.0 develop
- ipykernel ^6.29.0 develop
- mypy ^1.9.0 develop
- pandas-stubs ^2.2.1.240316 develop
- ruff ^0.3.3 develop
- types-pyyaml ^6.0.12.20240311 develop
- types-toml ^0.10.8.20240310 develop
- mike ^2.0.0 docs
- mkdocs ^1.5.3 docs
- mkdocs-git-revision-date-localized-plugin ^1.2.2 docs
- mkdocs-material ^9.5.5 docs
- mkdocs-mermaid2-plugin ^1.1.1 docs
- mkdocstrings ^0.24.1 docs
- mktestdocs ^0.2.1 docs
- pymdown-extensions ^10.7 docs
- bandit ^1.7.5 quality
- f90nml ^1.4.3
- flatdict ^4.0.1
- loguru ^0.7.2
- pandas ^2.1.1
- pyarrow >=14,<16
- python ^3.10,<3.13
- pyyaml ^6.0.1
- toml ^0.10.2
- pandas ^2.1.1 testing
- pytest ^8.1.1 testing
- pytest-cov ^4.1.0 testing
- pytest-mock ^3.11.1 testing
- pytest-sugar ^1.0.0 testing
- xeger ^0.4.0 testing