A simple Extract-Transform-Load framework focused on materials characterization.
Project description
mcetl is a simple Extract-Transform-Load framework focused on materials characterization.
For python 3.7+
Open Source: BSD 3-clause license
Documentation: https://mcetl.readthedocs.io.
Summary
TODO
Installation
Stable release
To install mcetl, run this command in your terminal:
$ pip install mcetl
This is the preferred method to install mcetl, as it will always install the most recent stable release.
From Github
The sources for mcetl can be downloaded from the Github repo.
You can clone the public repository:
$ git clone git://github.com/derb12/mcetl
Once you have a copy of the source, you can install it with:
$ python setup.py install
Usage
To use mcetl in a project:
import mcetl
To use the peak fitting or plotting modules in mcetl, simply do:
mcetl.launch_peak_fitting_gui() mcetl.launch_plotting_gui()
A window will then appear to select the data file(s) to be fitted or plotted.
Files for example data from characterization techniques can be created using:
from mcetl import raw_data raw_data.generate_raw_data()
Data produced by the generate_raw_data function covers the following characterization techniques:
X-ray diffraction (XRD)
Fourier-transform infrared spectroscopy (FTIR)
Raman spectroscopy
Thermogravimetric analysis (TGA)
Differential scanning calorimetry (DSC)
Example programs are available to show basic usage of mcetl. The examples include:
Generating raw data
Using the main GUI
Using the peak fitting GUI
Using the plotting GUI
Reopening a figure saved with the plotting GUI
Future Plans
Planned features for later releases:
Short term
Develop tests for all modules in the package.
Switch from print statements to logging.
Transfer documentation from PDF/Word files to automatic documentation with Sphinx.
Improve usage when opening existing Excel files.
Long term
Add more plot types to the plotting gui, including bar charts, categorical plots, and 3d plots.
Make peak fitting more flexible by allowing more options or user inputs.
Improve overall look and usability of all GUIs.
Contributing
Contributions are welcome, and they are greatly appreciated.
You can contribute in many ways:
Bugs Reports
Report bugs at https://github.com/derb12/mcetl/issues.
If you are reporting a bug, please include:
Your operating system name, python version, and mcetl version.
Any details about your local setup that might be helpful in troubleshooting.
Detailed steps to reproduce the bug.
Feedback
The best way to send feedback is to file an issue at https://github.com/derb12/mcetl/issues.
If you are proposing a feature:
Explain in detail how it would work.
Keep the scope as narrow as possible, to make it easier to implement.
Pull Requests
Pull requests are welcomed for this project. When submitting a pull request, follow similar procedures for feedback, namely:
Explain in detail how it would work.
Keep the scope as narrow as possible, to make it easier to implement.
Changelog
Credits
The layout of this package was initially created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.