bom_analysis
A framework for performing analysis based on a Bill of Materials (BOM) structure. Creates data storage structure that follows a hierarchical BOM which can be operated on. Developed for STEP Outboard Blankets.
Science Score: 54.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
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.0%) to scientific vocabulary
Scientific Fields
Repository
A framework for performing analysis based on a Bill of Materials (BOM) structure. Creates data storage structure that follows a hierarchical BOM which can be operated on. Developed for STEP Outboard Blankets.
Basic Info
- Host: GitHub
- Owner: ukaea
- License: bsd-3-clause
- Language: Python
- Default Branch: main
- Size: 363 KB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 3
- Open Issues: 0
- Releases: 2
Metadata Files
README.md
Bill of Materials Analysis
This repository allows for an engineering assembly to be represented in a Bill of Materials (BOM) structure for analysis. The aim was to reduce the cognative complexity of the various data sets that are required for input or output of an analysis workflow. The repository also includes a number of features to help with this analysis.
The motivation for this package comes from a desire to order complex system data used by analysis in a logical. The chosen method for ordering this data is the bill of materials as it provides a common framework used across engineering.
The bill of materials provides a hieracy of materials, components, and assemblies all of which can contain data that is important for the analysis. For example, a user may want to assess the mass of an assembly by summing the mass of all the components in that make it up.
The Bill of Materials can be plotted to help understand the system (taken from example):
tokamak
├── coil_set
│ ├── east
│ ├── north
│ ├── south
│ └── west
└── divertor
The data for each of the components can also be displayed easily:
================================================================================
| var │ value │ unit │ description │
================================================================================
│ mass │ 1000 │ metric_ton │ │
================================================================================
│ configuration │ ST │ dimensionless │ │
================================================================================
│ major_radius │ 2 │ meter │ the geometric centre of the plasma │
================================================================================
Installation
The easiest way to install bom_analysis is using pip pip:
pip install bom_analysis
Help and Support
Testing
BOM Analysis contains a test suite that can be ran using pytest (must be installed). Three markers have been used to distiguish the different testing levels: - unittest: runs unit tests that generally only test an individual method by using mocking - integrationtest: runs the integration tests - regressiontest: tests bugs that have been indentified in other versions
The full test suite can be ran by navigating to the source directory and running pytest:
pytest
It is possible to filter the tests by the markers:
pytest -m "unittest"
Or filter out markers:
pytest -m "not integrationtest and not regressiontest"
License
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)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Bill of Materials Analysis
message: Please cite this software using these metadata.
type: software
authors:
- given-names: Samuel
email: samuel.merriman@hotmail.co.uk
orcid: 'https://orcid.org/0000-0001-7539-783X'
affiliation: United Kingdom Atomic Energy Authority (UKAEA)
family-names: Merriman
license: BSD-3-Clause
doi: 10.5281/zenodo.6941424
repository-code: "https://github.com/ukaea/bom_analysis"
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 95
- Total Committers: 3
- Avg Commits per committer: 31.667
- Development Distribution Score (DDS): 0.095
Top Committers
| Name | Commits | |
|---|---|---|
| P-S-S-M | s****n@h****k | 86 |
| Chris MacMackin | c****n@u****k | 5 |
| P-S-S-M | s****n@u****k | 4 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 13
- Total pull requests: 25
- Average time to close issues: 18 days
- Average time to close pull requests: 1 day
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 1.0
- Average comments per pull request: 1.44
- Merged pull requests: 19
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- cmacmackin (6)
- P-S-S-M (6)
Pull Request Authors
- P-S-S-M (24)
- cmacmackin (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 18 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
- Total maintainers: 1
pypi.org: bom-analysis
A framework for performing analysis based on a Bill of Materials (BOM) structure
- Homepage: https://github.com/ukaea/bom_analysis
- Documentation: https://bom-analysis.readthedocs.io/
- License: BSD 3-Clause “New” or “Revised” License
-
Latest release: 1.0.0
published over 3 years ago
Rankings
Maintainers (1)
Dependencies
- CoolProp ==6.4.1
- Pint ==0.19.2
- fluids ==1.0.21
- numpy ==1.23.1
- pandas ==1.4.3
- python-box ==6.0.2
- python-dateutil ==2.8.2
- scipy ==1.8.1
- six ==1.16.0
- tabulate ==0.8.10
- treelib ==1.6.1
- CoolProp *
- fluids *
- numpy *
- pandas *
- pint *
- python-box *
- tabulate *
- treelib *
- actions/checkout v3 composite
- actions/setup-python v3 composite
- SonarSource/sonarcloud-github-action master composite
- actions/checkout v2 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/upload-artifact v3 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite