Structure of the cellpy package#
Folder structure#
The cellpy
repository is structured as follows:
📂 cellpy # the main folder for the cellpy repository
├── 📂 .github # github specific files (e.g. github actions)
├── 📂 bin # binary files (mdbtools for win)
├── 📂 cellpy # the main folder for the cellpy package
├── 📂 docs # the main folder for the cellpy documentation
├── 📂 examples
├── 📂 test_journal # data etc for the tests
├── 📂 testdata # data etc for the tests
├── 📂 tests # here are the tests
├── 📄 .coverage
├── 📄 .env_example
├── 📄 .gitattributes
├── 📄 .gitignore
├── 📄 .readthedocs.yaml
├── 📄 bumpver.toml
├── 📄 appveyor.yml
├── 📄 AUTHORS.rst <-- picked up by sphinx (in docs)
├── 📄 README.rst <-- picked up by sphinx (in docs)
├── 📄 CODE_OF_CONDUCT.md
├── 📄 CONTRIBUTING.rst <-- picked up by sphinx (in docs)
├── 📄 HISTORY.rst <-- picked up by sphinx (in docs)
├── 📄 LICENSE <-- picked up by sphinx (in docs)
├── 📄 MANIFEST.in
├── 📄 notes.md <-- log of notes
├── 📄 pyproject.toml
├── 📄 dev_environment.yml
├── 📄 environment.yml
├── 📄 requirements_dev.txt
├── 📄 requirements.txt
├── 🐍 noxfile.py
├── 🐍 setup.py
└── 🐍 tasks.py <-- invoke tasks
The cellpy
source code is structured as follows:
📂 cellpy\cellpy
├── 📂 internals
│ ├── 🐍 __init__.py
│ └── 🐍 core.py
├── 📂 parameters
│ ├── 📂 legacy
│ │ ├── 🐍 __init__.py
│ │ └── 🐍 update_headers.py
│ ├── 📄 .cellpy_prms_default.conf
│ ├── 🐍 __init__.py
│ ├── 🐍 internal_settings.py
│ ├── 🐍 prmreader.py
│ └── 🐍 prms.py
├── 📂 readers
│ ├── 📂 instruments
│ │ ├── 📂 .benchmarks
│ │ ├── 📂 configurations
│ │ │ ├── 🐍 __init__.py
│ │ │ ├── 🐍 maccor_txt_four.py
│ │ │ ├── 🐍 maccor_txt_one.py
│ │ │ ├── 🐍 maccor_txt_three.py
│ │ │ ├── 🐍 maccor_txt_two.py
│ │ │ ├── 🐍 maccor_txt_zero.py
│ │ │ └── 🐍 neware_txt_zero.py
│ │ ├── 📂 loader_specific_modules
│ │ │ ├── 🐍 __init__.py
│ │ │ └── 🐍 biologic_file_format.py
│ │ ├── 📂 processors
│ │ │ ├── 🐍 __init__.py
│ │ │ ├── 🐍 post_processors.py
│ │ │ └── 🐍 pre_processors.py
│ │ ├── 🐍 __init__.py
│ │ ├── 🐍 arbin_res.py
│ │ ├── 🐍 arbin_sql.py
│ │ ├── 🐍 arbin_sql_7.py
│ │ ├── 🐍 arbin_sql_csv.py
│ │ ├── 🐍 arbin_sql_h5.py
│ │ ├── 🐍 arbin_sql_xlsx.py
│ │ ├── 🐍 base.py
│ │ ├── 🐍 biologics_mpr.py
│ │ ├── 🐍 custom.py
│ │ ├── 🐍 ext_nda_reader.py
│ │ ├── 🐍 local_instrument.py
│ │ ├── 🐍 maccor_txt.py
│ │ ├── 🐍 neware_txt.py
│ │ ├── 🐍 pec_csv.py
│ │ └── 📄 SQL Table IDs.txt
│ ├── 🐍 __init__.py
│ ├── 🐍 cellreader.py
│ ├── 🐍 core.py
│ ├── 🐍 dbreader.py
│ ├── 🐍 filefinder.py
│ └── 🐍 sql_dbreader.py
└── 📂 utils
├── 📂 batch_tools
│ ├── 🐍 __init__.py
│ ├── 🐍 batch_analyzers.py
│ ├── 🐍 batch_core.py
│ ├── 🐍 batch_experiments.py
│ ├── 🐍 batch_exporters.py
│ ├── 🐍 batch_helpers.py
│ ├── 🐍 batch_journals.py
│ ├── 🐍 batch_plotters.py
│ ├── 🐍 batch_reporters.py
│ ├── 🐍 dumpers.py
│ ├── 🐍 engines.py
│ └── 🐍 sqlite_from_excel_db.py
├── 📂 data
│ ├── 📂 raw
│ │ └── 📄 20160805_test001_45_cc_01.res
│ └── 📄 20160805_test001_45_cc.h5
├── 🐍 __init__.py
├── 🐍 batch.py
├── 🐍 collectors.py
├── 🐍 collectors_old.py
├── 🐍 diagnostics.py
├── 🐍 easyplot.py
├── 🐍 example_data.py
├── 🐍 helpers.py
├── 🐍 ica.py
├── 🐍 live.py
├── 🐍 ocv_rlx.py
├── 🐍 plotutils.py
└── 🐍 processor.py
...
Handling of parameters#
TODO: explain how parameters are handled
.cellpy_prms_{user}.conf
.env_cellpy
and environment variables.
cellpy.prms
cellpy.parameters.internal_settings
Logging#
cellpy
uses the standard python logging
module.