Code Monkey home page Code Monkey logo

pydcc's Introduction

Python library supporting automated processing of digital calibration certificates (DCC)

PyPI version CI test

PyDCC is an open-source project released under the MIT license, accelerating application development for processing Digital Calibration Certificates (DCC), according to the official DCC release [3]. This collaborative work was introduced by a talk given at the 2nd DCC conference [4]. Further, an introduction video [6] exists, looking briefly at the contents of a DCC and demonstrating PyDCC's essential features by implementing an example application from scratch. Note that to process DCC automatically, data within the DCC must follow particular format requirements defined by Good Practice [5].

Out of scope: PyDCC is not intended to modify or generate DCCs. PyDCC is a read-only library. For this purpose, other tools and libraries exist.

General Software Information

This software module is a joint initiative driven by the project GEMIMEG-II.

Maintainer: Andreas Tobola, Siemens AG

Contributors: The workflow was defined in the contribution guide. We appreciate any contributions.

License

The software was generally licensed under the MIT License. Therefore, see the LICENSE file in the top-level directory.

Data examples included in this repository may contain other licenses. Please refer to the license declarations within the data examples.

Background to DCC

The digital calibration certificate (DCC) is the machine-readable counterpart of the previous calibration certificate. The DCC was released by the Physikalisch-Technische Bundesanstalt (PTB) [1]. The DCC has a hierarchical structure comprising regulated areas whose information must meet specific requirements. The DCC exists in Extensible Markup Language (XML).

Aim of this software library

Python is a programming language widely used in science and cloud computing applications. This software library extends Python by capabilities of handling DCC, in particular, loading DCCs from XML-Files, and operating on regulated areas of the DCC. Regulated areas in DCC are (1) administrative data and (2) measurement results.

Consider reading the user guide for more details, including API documentation.

Installation

pip install pydcc

Official Code Repository

Location of the official code repository: https://github.com/siemens/pydcc/

The contibution guide explains how one can contribute to this software module.

Initial Contributors

This project was started in January 2021 with an initial team of developers.

Besides coding, the weekly team discussions were essential for achieving our goals. Additional discussion supporters were:

  • Daniel Heißelmann, PTB
  • Benjamin Gloger, PTB

References

[1] The official release of the digital calibration certificate (DCC) in version 2.4.0 https://www.ptb.de/dcc/v2.4.0/de/

[2] Current XML schema for DCCs https://www.ptb.de/dcc/dcc.xsd

[3] The official release of the digital calibration certificate (DCC) in version 3.2 https://www.ptb.de/dcc

[4] Andreas Tobola, Introducing PyDCC – a Python module for the DCC, 2nd international DCC-Conference 01 - 03 March 2022 Proceedings, Publisher: Physikalisch-Technische Bundesanstalt (PTB), DOI 10.7795/820.20220411, 2022

[5] Good Practice for DCC https://dccwiki.ptb.de/en/gp_home

[6] Andreas Tobola, PyDCC Introduction Video, 2023, Brief look at the contents of a DCC and demonstrate PyDCC's essential features by implementing an example application from scratch.

Links

pydcc's People

Contributors

beneseeptb avatar ruhland-tim avatar tobola avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pydcc's Issues

Importing

While Trying to validate an XML DCC I found this module import error.

from dcc import DCC,DCCTrustStore
Connected to pydev debugger (build 232.10072.31)
Traceback (most recent call last):
  File "/home/seeger01/Downloads/pycharm-2023.2.3/plugins/python/helpers/pydev/pydevd.py", line 1500, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/seeger01/Downloads/pycharm-2023.2.3/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/seeger01/repos/dccuaquerschnitmetadata/src/signatureReaderpyDCC/main.py", line 1, in <module>
    from dcc import DCC,DCCTrustStore
ImportError: cannot import name 'DCCTrustStore' from 'dcc' (/home/seeger01/repos/dccuaquerschnitmetadata/src/signatureReaderpyDCC/venv/lib/python3.12/site-packages/dcc/__init__.py)

Process finished with exit code 1

this is due to the missing include of

from .dcc import DCCTrustStore 

in dcc/init.py

I will set up a merge request to fix this

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.