Metadata-Version: 2.1
Name: autosubmitconfigparser
Version: 1.0.55
Summary: An utility library that allows to read an Autosubmit 4 experiment configuration.
Home-page: https://earth.bsc.es/gitlab/ces/autosubmit4-config-parser.git
Author: Daniel Beltran Mora
Author-email: daniel.beltran@bsc.es
Keywords: climate,weather,workflow,HPC
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Operating System :: POSIX :: Linux
Description-Content-Type: text/markdown
Requires-Dist: argparse >=1.4.0
Requires-Dist: bscearth.utils >=0.5.2
Requires-Dist: configobj >=5.0.8
Requires-Dist: configparser >=6.0.0
Requires-Dist: cryptography >=36.0.1
Requires-Dist: cython
Requires-Dist: mock >=4.0.3
Requires-Dist: networkx >=2.6.3
Requires-Dist: packaging >19
Requires-Dist: pip >=22.0.3
Requires-Dist: portalocker >=2.3.2
Requires-Dist: Pygments
Requires-Dist: pyparsing >=3.1.1
Requires-Dist: PyNaCl >=1.4.0
Requires-Dist: python-dateutil >=2.8.2
Requires-Dist: pythondialog
Requires-Dist: requests >=2.27.1
Requires-Dist: ruamel.yaml ==0.17.21
Requires-Dist: setuptools >=60.8.2
Requires-Dist: six >=1.16.0
Provides-Extra: all
Requires-Dist: argparse >=1.4.0 ; extra == 'all'
Requires-Dist: bscearth.utils >=0.5.2 ; extra == 'all'
Requires-Dist: configobj >=5.0.8 ; extra == 'all'
Requires-Dist: configparser >=6.0.0 ; extra == 'all'
Requires-Dist: cryptography >=36.0.1 ; extra == 'all'
Requires-Dist: cython ; extra == 'all'
Requires-Dist: mock >=4.0.3 ; extra == 'all'
Requires-Dist: networkx >=2.6.3 ; extra == 'all'
Requires-Dist: packaging >19 ; extra == 'all'
Requires-Dist: pip >=22.0.3 ; extra == 'all'
Requires-Dist: portalocker >=2.3.2 ; extra == 'all'
Requires-Dist: Pygments ; extra == 'all'
Requires-Dist: pyparsing >=3.1.1 ; extra == 'all'
Requires-Dist: PyNaCl >=1.4.0 ; extra == 'all'
Requires-Dist: python-dateutil >=2.8.2 ; extra == 'all'
Requires-Dist: pythondialog ; extra == 'all'
Requires-Dist: requests >=2.27.1 ; extra == 'all'
Requires-Dist: ruamel.yaml ==0.17.21 ; extra == 'all'
Requires-Dist: setuptools >=60.8.2 ; extra == 'all'
Requires-Dist: six >=1.16.0 ; extra == 'all'
Requires-Dist: pytest ; extra == 'all'
Requires-Dist: pytest-cov ; extra == 'all'
Requires-Dist: pytest-mock ; extra == 'all'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-mock ; extra == 'test'

Simple library that allows to read the data of an Autosubmit experiment.

### Usage: ####

```python
#import the main config library
from autosubmitconfigparser.config.configcommon import AutosubmitConfig
import os
# Init the configuration object where expid = experiment identifier that you want to load
expid = "a01y"
as_conf = AutosubmitConfig("a01y")
# This will load the data from the experiment
as_conf.reload(True)

#all data is stored in the as_conf.experiment_data dictionary
as_conf.experiment_data
# Obtain only section data
as_conf.jobs_data
# Obtain only platforms data
as_conf.platforms_data
# Obtain all data in parameter format( %SECTION%.%SUBSECTION%.%SUBSECTION% )
parameters = as_conf.deep_parameters_export(as_conf.experiment_data)
# To parse the placeholders from a file use the following function
#write sample text
with open("as_sample.txt", "w") as f:
    f.write("This is a sample text with a placeholder %DEFAULT.EXPID%")

#write the parsed text
with open("as_sample_parsed.txt", "w") as f:
    f.write(as_conf.parse_placeholders(open("as_sample.txt","r").read(), parameters))


# print the file content
with open("as_sample.txt", "r") as f:
    print(f.read())
# print the file content
with open("as_sample_parsed.txt", "r") as f:
    print(f.read())
    
# Result must be:
# This is a sample text with a placeholder %DEFAULT.EXPID%
# This is a sample text with a placeholder expid

# delete samples
os.remove("as_sample.txt")
os.remove("as_sample_parsed.txt")
```

