Metadata-Version: 2.4
Name: autosubmitconfigparser
Version: 1.0.79
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: ruamel.yaml==0.18.6
Requires-Dist: mock
Requires-Dist: bscearth.utils
Requires-Dist: configobj
Requires-Dist: pyparsing
Requires-Dist: configparser
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-mock; extra == "test"
Requires-Dist: ruff; extra == "test"
Provides-Extra: all
Requires-Dist: ruamel.yaml==0.18.6; extra == "all"
Requires-Dist: mock; extra == "all"
Requires-Dist: bscearth.utils; extra == "all"
Requires-Dist: configobj; extra == "all"
Requires-Dist: pyparsing; extra == "all"
Requires-Dist: configparser; extra == "all"
Requires-Dist: pytest; extra == "all"
Requires-Dist: pytest-cov; extra == "all"
Requires-Dist: pytest-mock; extra == "all"
Requires-Dist: ruff; extra == "all"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

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")
```

