launchpy 0.4.7__tar.gz → 0.4.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. {launchpy-0.4.7/launchpy.egg-info → launchpy-0.4.8}/PKG-INFO +13 -14
  2. {launchpy-0.4.7 → launchpy-0.4.8}/README.md +4 -5
  3. launchpy-0.4.8/docs/cli.md +519 -0
  4. {launchpy-0.4.7 → launchpy-0.4.8}/docs/releases.md +9 -1
  5. {launchpy-0.4.7 → launchpy-0.4.8}/docs/synchronizer.md +36 -9
  6. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/__init__.py +0 -1
  7. launchpy-0.4.8/launchpy/__version__.py +1 -0
  8. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/cli/__main__.py +205 -24
  9. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/config.py +0 -2
  10. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/configs.py +7 -37
  11. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/connector.py +0 -2
  12. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/library.py +24 -7
  13. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/property.py +10 -0
  14. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/synchronizer.py +214 -31
  15. {launchpy-0.4.7 → launchpy-0.4.8/launchpy.egg-info}/PKG-INFO +13 -14
  16. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy.egg-info/SOURCES.txt +1 -0
  17. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy.egg-info/requires.txt +1 -2
  18. {launchpy-0.4.7 → launchpy-0.4.8}/pyproject.toml +9 -9
  19. {launchpy-0.4.7 → launchpy-0.4.8}/requirements.txt +3 -5
  20. launchpy-0.4.7/launchpy/__version__.py +0 -1
  21. {launchpy-0.4.7 → launchpy-0.4.8}/LICENSE +0 -0
  22. {launchpy-0.4.7 → launchpy-0.4.8}/docs/admin.md +0 -0
  23. {launchpy-0.4.7 → launchpy-0.4.8}/docs/getstarted.md +0 -0
  24. {launchpy-0.4.7 → launchpy-0.4.8}/docs/library.md +0 -0
  25. {launchpy-0.4.7 → launchpy-0.4.8}/docs/main.md +0 -0
  26. {launchpy-0.4.7 → launchpy-0.4.8}/docs/property.md +0 -0
  27. {launchpy-0.4.7 → launchpy-0.4.8}/docs/translator.md +0 -0
  28. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/admin.py +0 -0
  29. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/cli/__init__.py +0 -0
  30. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy/launchpy.py +0 -0
  31. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy.egg-info/dependency_links.txt +0 -0
  32. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy.egg-info/entry_points.txt +0 -0
  33. {launchpy-0.4.7 → launchpy-0.4.8}/launchpy.egg-info/top_level.txt +0 -0
  34. {launchpy-0.4.7 → launchpy-0.4.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: launchpy
3
- Version: 0.4.7
3
+ Version: 0.4.8
4
4
  Summary: Adobe Launch API wrapper
5
5
  Author-email: Julien Piccini <piccini.julien@gmail.com>
6
6
  License: Apache License 2.0
@@ -8,26 +8,26 @@ Project-URL: homepage, https://github.com/pitchmuc/launchpy
8
8
  Project-URL: changelog, https://github.com/pitchmuc/launchpy/blob/master/docs/releases.md
9
9
  Keywords: adobe,analytics,API,python
10
10
  Classifier: Intended Audience :: Developers
11
- Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
11
+ Classifier: License :: OSI Approved :: Apache Software License
12
12
  Classifier: Operating System :: OS Independent
13
13
  Classifier: Programming Language :: Python
14
14
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
15
- Classifier: Programming Language :: Python :: 3.6
16
- Classifier: Programming Language :: Python :: 3.7
17
- Classifier: Programming Language :: Python :: 3.8
18
- Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
19
20
  Classifier: Development Status :: 4 - Beta
20
- Requires-Python: >=3.7
21
+ Requires-Python: >=3.10
21
22
  Description-Content-Type: text/markdown
22
23
  License-File: LICENSE
23
24
  Requires-Dist: pandas
24
25
  Requires-Dist: requests
25
- Requires-Dist: PyJWT
26
- Requires-Dist: PyJWT[crypto]
27
26
  Requires-Dist: pathlib2
28
27
  Requires-Dist: pathlib
29
28
  Requires-Dist: aepp
30
29
  Requires-Dist: rich
30
+ Requires-Dist: deprecated
31
31
  Dynamic: license-file
32
32
 
33
33
  # Launchpy
@@ -37,17 +37,15 @@ This module is named launchpy.
37
37
 
38
38
  ## Installation
39
39
 
40
- You can install the module by realising the following pip command:
41
-
40
+ You can install the module by realising the following pip command:\
42
41
  `pip install launchpy`
43
42
 
44
- You can access the version of the module that you run via the following attribute:
45
-
43
+ You can access the version of the module that you run via the following attribute:\
46
44
  `launchpy.__version__`
47
45
 
48
46
  ## Content of the module
49
47
 
50
- This module is built around 5 main parts:
48
+ This module is built around 7 main parts:
51
49
 
52
50
  - Helping functions [Core Components](./docs/main.md)
53
51
  - Admin instantiating functions [Admin Class](./docs/admin.md)
@@ -55,6 +53,7 @@ This module is built around 5 main parts:
55
53
  - Managing Publishing Cycle [Library Class](./docs/library.md)
56
54
  - Translator functionationality [Translator Class](./docs/translator.md)
57
55
  - Synchronizer [Synchronizer Class](./docs/synchronizer.md)
56
+ - Command Line Interface [CLI](./docs/cli.md)
58
57
 
59
58
  ## Get Started
60
59
 
@@ -5,17 +5,15 @@ This module is named launchpy.
5
5
 
6
6
  ## Installation
7
7
 
8
- You can install the module by realising the following pip command:
9
-
8
+ You can install the module by realising the following pip command:\
10
9
  `pip install launchpy`
11
10
 
12
- You can access the version of the module that you run via the following attribute:
13
-
11
+ You can access the version of the module that you run via the following attribute:\
14
12
  `launchpy.__version__`
15
13
 
16
14
  ## Content of the module
17
15
 
18
- This module is built around 5 main parts:
16
+ This module is built around 7 main parts:
19
17
 
20
18
  - Helping functions [Core Components](./docs/main.md)
21
19
  - Admin instantiating functions [Admin Class](./docs/admin.md)
@@ -23,6 +21,7 @@ This module is built around 5 main parts:
23
21
  - Managing Publishing Cycle [Library Class](./docs/library.md)
24
22
  - Translator functionationality [Translator Class](./docs/translator.md)
25
23
  - Synchronizer [Synchronizer Class](./docs/synchronizer.md)
24
+ - Command Line Interface [CLI](./docs/cli.md)
26
25
 
27
26
  ## Get Started
28
27
 
@@ -0,0 +1,519 @@
1
+ # Command Line Interface for launchpy
2
+
3
+ This document provides an overview of the command line interface (CLI) for `launchpy`, a tool designed to facilitate the launching of applications and services. The CLI allows users to interact with `launchpy` directly from the terminal, providing a convenient way to manage and execute tasks.
4
+
5
+ **Table of Contents**:
6
+ - [Command Line Interface for launchpy](#command-line-interface-for-launchpy)
7
+ - [Prequisites](#prequisites)
8
+ - [Installation](#installation)
9
+ - [Usage](#usage)
10
+ - [Instantiation](#instantiation)
11
+ - [create\_config\_file](#create_config_file)
12
+ - [config](#config)
13
+ - [get\_properties](#get_properties)
14
+ - [create\_property](#create_property)
15
+ - [delete\_property](#delete_property)
16
+ - [extract\_property](#extract_property)
17
+ - [load\_property](#load_property)
18
+ - [get\_extensions](#get_extensions)
19
+ - [load\_extension](#load_extension)
20
+ - [Property Layer Commands](#property-layer-commands)
21
+ - [get\_extensions](#get_extensions-1)
22
+ - [get\_extension](#get_extension)
23
+ - [get\_rules](#get_rules)
24
+ - [get\_rule](#get_rule)
25
+ - [get\_rules\_components](#get_rules_components)
26
+ - [get\_rule\_components](#get_rule_components)
27
+ - [get\_data\_elements](#get_data_elements)
28
+ - [get\_data\_element](#get_data_element)
29
+ - [get\_latest\_published\_version](#get_latest_published_version)
30
+ - [get\_libraries](#get_libraries)
31
+ - [delete\_library](#delete_library)
32
+ - [delete\_library\_components](#delete_library_components)
33
+ - [create\_env](#create_env)
34
+ - [Synchronizer Layer Commands](#synchronizer-layer-commands)
35
+ - [check\_component](#check_component)
36
+ - [sync](#sync)
37
+ - [rename\_component](#rename_component)
38
+ - [get\_targets](#get_targets)
39
+ - [upgrade\_extension](#upgrade_extension)
40
+ - [get\_base\_rules](#get_base_rules)
41
+ - [get\_base\_data\_elements](#get_base_data_elements)
42
+ - [get\_base\_extensions](#get_base_extensions)
43
+ - [get\_base\_libraries](#get_base_libraries)
44
+ - [get\_base\_library](#get_base_library)
45
+ - [sync\_from\_library](#sync_from_library)
46
+ - [Behaviors for sync\_from\_library](#behaviors-for-sync_from_library)
47
+ - [create\_libraries](#create_libraries)
48
+
49
+
50
+
51
+ ## Prequisites
52
+ Before using the `launchpy` CLI, ensure that you have the following prerequisites:
53
+ - Python 3.10 or higher installed on your system.
54
+ - Access to a terminal or command prompt.
55
+ - An active internet connection to install `launchpy` and its dependencies.
56
+ - An Adobe Developer Project that is connected to your Adobe Launch / Adobe Experience Platform Data Collection Tags. This would provide the information required (`client_id`, `secret`, `org_id`, `scopes`) to use the CLI to launch your applications and services.
57
+
58
+ ## Installation
59
+ You would need to have Python installed on your system to use `launchpy`. The recommended version is Python 3.10 or higher. You can check your Python version by running:
60
+
61
+ ```bash
62
+ python --version
63
+ ```
64
+
65
+ In order to use the CLI, you would need to have at least the version `0.4.7` of `launchpy`.
66
+ To install `launchpy`, you can use pip:
67
+
68
+ ```bash
69
+ pip install launchpy
70
+ ```
71
+
72
+ to upgrade to the latest version, you can run:
73
+
74
+ ```bash
75
+ pip install --upgrade launchpy
76
+ ```
77
+
78
+ ## Usage
79
+ Once installed, you can access the `launchpy` CLI by running the following command in your terminal:
80
+
81
+ ```bash
82
+ python -m launchpy.cli
83
+ ```
84
+
85
+ launchpy CLI provides various commands nested in different layer:
86
+ - **Main Layer** : This is the top layer of the CLI where you can access the main functionalities such as creating a config file and setting up the configuration for API connection. It can be recognized by the `(Cmd)` or `launchpy>` (once config has been ran) prompt.
87
+ - **Property Layer**: This layer allows you to access information about a specific Launch property and perform actions related to that property. It can be recognized by the `property_name>` prompt, where `property_name` is replaced by the name of your property. You can directly access this layer by providing the property name in the `config` command in the main layer.
88
+ - **Synchronizer Layer**: This layer is focused on synchronizing Launch properties. It provides commands to check for updates and synchronize your property. It can be recognized by the `synchronizer:base_property>` prompt, where `base_property` will be replaced by the name of your base property.
89
+
90
+ All layers contains the following common commands:
91
+ - `help` : Display the help message with a list of available commands and their descriptions.
92
+ - `exit` : Exit the CLI.
93
+
94
+
95
+ ### Instantiation
96
+
97
+ Once you have started the CLI, you can either create a config file if needed, or load the config file in the `config` method.
98
+ The config method also take individual parameters as arguments, which would override the values in the config file.
99
+
100
+ #### create_config_file
101
+ Create a config file to store your credentials and other necessary information for using `launchpy`. This is a one-time setup step that allows you to save your configuration for future use.\
102
+ Arguments
103
+ `-fn`, `--file_name`: The name of the config file to be created. If not provided, it defaults to `launchpy_config.json`.\
104
+
105
+ You can create a config file by running the following command:
106
+
107
+ ```bash
108
+ python -m launchpy.cli
109
+ (Cmd) create_config_file
110
+ ```
111
+
112
+
113
+ #### config
114
+ Setup the API connection to use the full capacity of the CLI.
115
+ Arguments
116
+ `-cid`,`--client_id`: The client ID for your Adobe Developer Project. This is a required parameter.
117
+ `-s`,`--secret`: The secret key for your Adobe Developer Project. This is a required parameter.
118
+ `-o`,`--org_id`: The organization ID associated with your Adobe Developer Project. This is a required parameter.
119
+ `-sc`,`--scopes`: The scopes that define the permissions for your API connection. This is a required parameter.
120
+ `-cf`,`--config_file`: The path to the config file that contains your credentials and other necessary information.
121
+ `-p`,`--property` : The property name to be used and directly instantiated the property layer. This is an optional parameter.
122
+
123
+ Example via parameters:
124
+ ```bash
125
+ python -m launchpy.cli
126
+ (Cmd) config --client_id <your_client_id> --secret <your_secret> --org_id <your_org_id> --scopes <your_scopes>
127
+ ```
128
+
129
+ Example via config file:
130
+ ```bash
131
+ python -m launchpy.cli
132
+ (Cmd) config --config_file <path_to_your_config_file>
133
+ ```
134
+ Example with direct access to property layer:
135
+ ```bash
136
+ python -m launchpy.cli
137
+ (Cmd) config --config_file <path_to_your_config_file> --property <your_property_name>
138
+ ```
139
+
140
+ **TIP**
141
+ When you are instantiating the CLI, you can directly pass the credentials information:
142
+
143
+ ```bash
144
+ python -m launchpy.cli --client_id <your_client_id> --secret <your_secret> --org_id <your_org_id> --scopes <your_scopes>
145
+ ```
146
+
147
+ or
148
+
149
+ ```bash
150
+ python -m launchpy.cli --config_file <path_to_your_config_file>
151
+ ```
152
+
153
+ It also supports direct access to the property layer by providing the property name in the parameters:
154
+
155
+ ```bash
156
+ python -m launchpy.cli --config_file <path_to_your_config_file> --property <your_property_name>
157
+ ```
158
+
159
+
160
+ #### get_properties
161
+ Retrieve a list of properties associated with your Adobe Developer Project. This command allows you to view the properties that you have access to and can manage using `launchpy`.\
162
+ Arguments:
163
+ `-n`,`--name`: The name of the property to filter the results (partial match, non-case sensitive). This is an optional parameter.
164
+ `-s`,`--save`: Boolean. Save properties to a CSV file. Default False. Possible values: `True`, `False`
165
+
166
+ ```bash
167
+ python -m launchpy.cli -cf <path_to_your_config_file>
168
+ launchpy> get_properties -n <property_name> -s True
169
+ ```
170
+
171
+ #### create_property
172
+ Create a new property in your Adobe Launch account. This command allows you to set up a new property that you can manage and synchronize using `launchpy`.\
173
+ Arguments:
174
+ `name` : The name of the new property to be created. This is a required parameter.
175
+ `-d`,`--description`: The description of the new property. This is an optional parameter.
176
+ `-p`,`--platform`: The platform for the new property. Default 'web', possible values: 'web', 'mobile'. This is an optional parameter.
177
+
178
+ Example:
179
+ ```bash
180
+ python -m launchpy.cli -cf <path_to_your_config_file>
181
+ launchpy> create_property "New Property" --description "This is a new property"
182
+ ```
183
+
184
+ #### delete_property
185
+ Delete an existing property from your Adobe Launch account. This command allows you to remove a property that you no longer need or want to manage using `launchpy`.\
186
+ Arguments:
187
+ `name`: The name of the property to be deleted. This is a required parameter.
188
+
189
+ ```bash
190
+ python -m launchpy.cli -cf <path_to_your_config_file>
191
+ launchpy> delete_property "Property Name"
192
+ ```
193
+
194
+
195
+ #### extract_property
196
+ This method allows you to extract the details of a specific property and save them to a folder.\
197
+ The folder name would be the name of the property, it will contains sub folders for each rules.\
198
+ Arguments:
199
+ `name`: The name of the property to extract. This is a required parameter.
200
+
201
+ This can be useful for searching code or for backup purposes.
202
+
203
+ ```bash
204
+
205
+ python -m launchpy.cli -cf <path_to_your_config_file>
206
+ launchpy> extract_property "Property Name"
207
+ ```
208
+
209
+
210
+ #### load_property
211
+ This method load the property layer for a specific property, allowing you to access and manage that property directly.
212
+ Arguments:
213
+ `name`: The name of the property to load. This is a required parameter.
214
+
215
+ ```bash
216
+ python -m launchpy.cli -cf <path_to_your_config_file>
217
+ launchpy> load_property "Property Name"
218
+ property_name>
219
+ ```
220
+
221
+ #### get_extensions
222
+ List all available extensions in the connected Adobe Launch organization.
223
+ Arguments:
224
+ `-s`, `--save`: Boolean. Save extensions to a JSON file. Default False. Possible values: `True`, `False`
225
+
226
+ ```bash
227
+ python -m launchpy.cli -cf <path_to_your_config_file>
228
+ launchpy> get_extensions -s True
229
+ ```
230
+
231
+ #### load_extension
232
+ Load a the synchronizer layer, allowing you to manage and synchronize properties with rules and data elements.\
233
+ Arguments:
234
+ `base_name`: Name of the Launch Property to use as base.
235
+ `-t`, `--targets`: list of target property names for synchronization. This is a required parameter.
236
+ `-dy`, `--dynamic_component`: Name of the Data Element that would contain dynamic component rules. This is an optional parameter, if not provided, it would not use dynamic component rules.
237
+
238
+ ```bash
239
+ python -m launchpy.cli -cf <path_to_your_config_file>
240
+ launchpy> load_synchronizer "Base Property Name" -t "Target Property 1" "Target Property 2" -dy "Dynamic Component Data Element Name"
241
+ synchronizer:Base_Property_Name>
242
+ ```
243
+
244
+ ### Property Layer Commands
245
+
246
+ Once you have instantiated the property layer for a specific property, you can access various commands to manage that property. These commands allow you to perform actions such as viewing and editing rules, data elements, and other configurations related to that property.
247
+
248
+ #### get_extensions
249
+ Get all extensions in the property and list them.\
250
+ Arguments:
251
+ `-s`, `--save`: Boolean. Save extensions to a CSV file. Default False. Possible values: `True`, `False`
252
+
253
+ ```bash
254
+ property_name> get_extensions -s True
255
+ ```
256
+
257
+ #### get_extension
258
+ Get details of a specific extension in the property.\
259
+ Arguments:
260
+ `name`: The name of the extension to retrieve details for. This is a required parameter.
261
+ `-s`, `--save`: Boolean. Save the extension details to a JSON file. Default False. Possible values: `True`, `False`
262
+
263
+ ```bash
264
+ property_name> get_extension "Extension Name" -s True
265
+ ```
266
+
267
+ #### get_rules
268
+ Get all rules in the property and list them.\
269
+ Arguments:
270
+ `-n`, `--name`: The name of the rule to filter the results (partial match, non-case sensitive). This is an optional parameter.
271
+ `-s`, `--save`: Boolean. Save rules to a CSV file. Default False. Possible values: `True`, `False`
272
+
273
+ ```bash
274
+ property_name> get_rules -n "Rule Name" -s True
275
+ ```
276
+
277
+ #### get_rule
278
+ Get details of a specific rule in the property.\
279
+ Arguments:
280
+ `name`: The name of the rule to retrieve details for. This is a required parameter.
281
+ `-s`, `--save`: Boolean. Save the rule details to a JSON file. Default False. Possible values: `True`, `False`
282
+
283
+ ```bash
284
+ property_name> get_rule "Rule Name" -s True
285
+ ```
286
+
287
+ #### get_rules_components
288
+ Get all rule components, and save them to a CSV file if specified. Intended to be used for all components, but can be filtering.\
289
+ Arguments:
290
+ `-s`, `--save`: Boolean. Save rules components to a CSV file. Default False. Possible values: `True`, `False`
291
+ `-rn`, `--rule_name`: (Partial) Name of the rule to get components for. This is an optional parameter.
292
+ `-rid`, `--rule_id`: ID of the rule to get components for. This is an optional parameter, if both `rule_name` and `rule_id` are provided, it will use `rule_id`.
293
+
294
+ ```bash
295
+ property_name> get_rules_components -s True
296
+ ```
297
+
298
+ #### get_rule_components
299
+ Get all components for a specific rule by name or ID. Way more effective than the other methods and provide more details.\
300
+ Arguments:
301
+ `-s`, `--save`: Boolean. Save the rule components to a JSON file. Default False. Possible values: `True`, `False`
302
+ `-rn`, `--rule_name`: (Partial) Name of the rule to get components for. This is an optional parameter.
303
+ `-rid`, `--rule_id`: ID of the rule to get components for. This is an optional parameter, if both `rule_name` and `rule_id` are provided, it will use `rule_id`.
304
+
305
+ ```bash
306
+ property_name> get_rule_components -rn "Rule Name" -s True
307
+ ```
308
+
309
+ #### get_data_elements
310
+ Get all data elements in the property and list them.\
311
+ Arguments:
312
+ `-n`, `--name`: The name of the data element to filter the results (partial match, non-case sensitive). This is an optional parameter.
313
+ `-s`, `--save`: Boolean. Save data elements to a CSV file. Default False. Possible values: `True`, `False`
314
+
315
+ ```bash
316
+ property_name> get_data_elements -n "Data Element Name" -s True
317
+ ```
318
+
319
+ #### get_data_element
320
+ Get details of a specific data element in the property.\
321
+ Arguments:
322
+ `name`: The name of the data element to retrieve details for. This is a required parameter.
323
+ `-s`, `--save`: Boolean. Save the data element details to a JSON file. Default False. Possible values: `True`, `False`
324
+
325
+ ```bash
326
+ property_name> get_data_element "Data Element Name" -s True
327
+ ```
328
+
329
+ #### get_latest_published_version
330
+ Get the latest published version of a specific component in the property.\
331
+ Arguments:
332
+ `-n`, `--name`: The name of the component to get the latest published version for. This is a required parameter.
333
+ `-t`, `--type`: The type of the component (e.g. 'rule', 'data_element', 'extension') to get the latest published version for. This is a required parameter.
334
+ `-s`, `--save`: Boolean. Save the latest published version details to a JSON file. Default False. Possible values: `True`, `False`
335
+
336
+ ```bash
337
+ property_name> get_latest_published_version -n "Component Name" -t "rule" -s True
338
+ ```
339
+
340
+ #### get_libraries
341
+ Get all libraries in the property and list them.\
342
+ Arguments:
343
+ `-s`, `--save`: Boolean. Save libraries to a CSV file. Default False. Possible values: `True`, `False`
344
+ `-st`, `--state`: Filter by library state. Possible values: 'development' (default), 'submitted', 'approved', 'rejected', 'published'. This is an optional parameter.
345
+
346
+ ```bash
347
+ property_name> get_libraries -s True -st "development"
348
+ ```
349
+
350
+ #### delete_library
351
+ Delete a library from the property.\
352
+ Arguments:
353
+ `name`: The name of the library to delete. This is a required parameter.
354
+
355
+ ```bash
356
+ property_name> delete_library "Library Name"
357
+ ```
358
+
359
+ #### delete_library_components
360
+ Delete components from a library.\
361
+ Arguments:
362
+ `name`: The name of the library to delete components from. This is a required parameter.
363
+
364
+ ```bash
365
+ property_name> delete_library_components "Library Name"
366
+ ```
367
+
368
+ #### create_env
369
+ Create a new environment based on Adobe host in the property.\
370
+ Arguments:
371
+ `name`: The name of the environment to create. This is a required parameter.
372
+
373
+ ```bash
374
+ property_name> create_env "Environment Name"
375
+ ```
376
+
377
+ ### Synchronizer Layer Commands
378
+ Once you have loaded the synchronizer layer for a specific base property, you can access commands to manage and synchronize that property with target properties. These commands allow you to perform actions such as checking for updates, synchronizing properties, and managing dynamic component rules.
379
+
380
+ #### check_component
381
+ Check if a specific component is in sync between the base property and target properties.\
382
+ Arguments:
383
+ `-n`, `--name`: The name of the component to check for synchronization. This is a required parameter.
384
+ `-id`, `--id`: ID of the component to check (overrides name if both provided)
385
+ `-p`, `--published` : Boolean. Check the synchronization based on the latest published version of the component. Default False. Possible values: `True`, `False`
386
+
387
+ ```bash
388
+ synchronizer:Base_Property_Name> check_component -n "Component Name" -p True
389
+ ```
390
+
391
+ #### sync
392
+ Synchronize a specific component between the base property and target properties.\
393
+ Arguments:
394
+ `-n`, `--name`: The name of the component to synchronize. This is a required parameter.
395
+ `-id`, `--id`: ID of the component to synchronize (overrides name if both provided)
396
+ `-p`, `--published` : Boolean. Synchronize the latest published version of the component. Default `False`. Possible values: `True`, `False`
397
+ `-f`, `--force` : Boolean. Create the component if it does not exist. Default `True`. Possible values: `True`, `False`
398
+
399
+ ```bash
400
+ synchronizer:Base_Property_Name> sync -n "Component Name" -p True -f True
401
+ ```
402
+
403
+ #### rename_component
404
+ Rename a component in the destination property.
405
+ Arguments:
406
+ `current_name` : The current name of the component to rename. This is a required parameter.
407
+ `new_name`: The new name for the component. This is a required parameter.
408
+
409
+ ```bash
410
+ synchronizer:Base_Property_Name> rename_component "Current Component Name" "New Component Name"
411
+ ```
412
+
413
+ #### get_targets
414
+ Get the target properties for synchronization. This command allows you to view the properties that are set as targets for synchronization with the base property.
415
+
416
+ ```bash
417
+ synchronizer:Base_Property_Name> get_targets
418
+ ```
419
+
420
+ #### upgrade_extension
421
+ Upgrade an extension in the destination property to the latest version available in the base property.
422
+ Arguments:
423
+ `name`: The name of the extension to upgrade. This is a required parameter.
424
+ `-p`, `--platform`: The platform of the extension to upgrade (e.g. 'web', 'app'). This is an optional parameter. Default `web`.
425
+
426
+ ```bash
427
+ synchronizer:Base_Property_Name> upgrade_extension "Extension Name"
428
+ ```
429
+
430
+ #### get_base_rules
431
+ This command allows you to view the rules that are availble in the base property for synchronization with the target properties.\
432
+ Arguments:
433
+ `-n`, `--name`: The name of the rule to filter the results (partial match, non-case sensitive). This is an optional parameter.
434
+
435
+
436
+ ```bash
437
+ synchronizer:Base_Property_Name> get_base_rules -n "Rule Name"
438
+ ```
439
+
440
+ #### get_base_data_elements
441
+ This command allows you to view the data elements that are availble in the base property for synchronization with the target properties.\
442
+ Arguments:
443
+ `-n`, `--name`: The name of the data element to filter the results (partial match, non-case sensitive). This is an optional parameter.
444
+
445
+ ```bash
446
+ synchronizer:Base_Property_Name> get_base_data_elements -n "Data Element Name"
447
+ ```
448
+
449
+ #### get_base_extensions
450
+ This command allows you to view the extensions that are availble in the base property for synchronization with the target properties.\
451
+ Arguments:
452
+ `-n`, `--name`: The name of the extension to filter the results (partial match, non-case sensitive). This is an optional parameter.
453
+
454
+ ```bash
455
+ synchronizer:Base_Property_Name> get_base_extensions -n "Extension Name"
456
+ ```
457
+
458
+ #### get_base_libraries
459
+ This command allows you to view the libraries that are availble in the base property for synchronization with the target properties.\
460
+ Arguments:
461
+ `-s`, `--state`: Filter by library state. Possible values: 'published'(default),'development' , 'submitted', 'approved', 'rejected'. This is an optional parameter.
462
+ `-n`, `--name`: Filter base libraries by name (partial match, non-case sensitive). This is an optional parameter.
463
+ `-d`, `--days`: Filter libraries that have been updated in the last X days. This is an optional parameter.
464
+
465
+ ```bash
466
+ synchronizer:Base_Property_Name> get_base_libraries -s "published" -n "Library Name" -d 30
467
+ ```
468
+
469
+ #### get_base_library
470
+ This command allows you to view the details of a specific library that is availble in the base property for synchronization with the target properties.\
471
+ It returns the rule, data elements and extensions that are part of the library, as well as the details of the library itself.\
472
+ Arguments:
473
+ `-n`, `--name`: The name of the library to get details for. This is a required parameter.
474
+ `-id`, `--id`: The ID of the library to get details for (overrides name if both provided). This is an optional parameter.
475
+
476
+ ```bash
477
+ synchronizer:Base_Property_Name> get_base_library -n "Library Name"
478
+ ```
479
+
480
+ #### sync_from_library
481
+ This command allows you to synchronize a library from the base property to the target properties.\
482
+ **IMPORTANT**:By default it will use the published version of the elements that are part of the library.
483
+ * `-n`, `--name`: Name of the library to sync from. This is a required parameter.
484
+ * `-id`, `--id`: ID of the library to sync from (overrides name if both provided). This is an optional parameter.
485
+ * `-f`, `--force`: Boolean. Create the component if it does not exist. Default True. Possible values: True, False
486
+ * `-ll`, `--library_linked`: Boolean. Whether to use library linked components or not. If set to True, the sync will be done using the library linked components. If set to False, the sync will be done using the component IDs in the library. Default True. Possible values: True, False
487
+ * `-p`, `--published`: Boolean. Sync the latest published version of the component instead of the current version. Default False. Possible values: True, False
488
+ * `-dr`, `--dry_run`: Boolean. If set to True, will only check the sync status of the components without actually syncing them. Default False. Possible values: True, False
489
+
490
+ ```bash
491
+ synchronizer:Base_Property_Name> sync_from_library -id "LibraryId" -ll False -p True -dr True
492
+ ```
493
+
494
+
495
+ ### Behaviors for sync_from_library
496
+ By default, the method will sync the components present in the library as they are in the library.
497
+ If the `published` is set to True, it will try to sync the version that has been published in the base property to the targets.\
498
+ If the `library_linked` is set to `False` and the `published` is set to `False` (default), it will try to sync the latest version of the components present in the base property library to the targets.\
499
+
500
+
501
+ ```bash
502
+ synchronizer:Base_Property_Name> sync_from_library -n "Library Name"
503
+ ```
504
+
505
+ #### create_libraries
506
+ This command allows you to create a library in the destination properties with the elements you have sync.\
507
+ Arguments:
508
+ `name`: Name for the new library to be created in the destination properties. This is a required parameter.
509
+ `-env`, `--environment`: String. If set to `True`, it will try to find a free environment and assign it to the library. If none is available, it will not assign any environment to the library. If the name of the environment is provided, it will try to assign it to that library. If the environment is already used in a Library, it will remove that association and assign it to the new library. Default False. Possible values: `True`, `False` or a `string` which is the (partial) name of the environment you want to assign to the library.
510
+
511
+ ```bash
512
+ synchronizer:Base_Property_Name> create_library "Library Name" -env True
513
+ ```
514
+
515
+ ```bash
516
+ synchronizer:Base_Property_Name> create_library "Library Name" -env "Environment Name
517
+
518
+ ```
519
+
@@ -3,8 +3,16 @@
3
3
  This page gathered the changes made between version of the launchpy module.\
4
4
  This has been started after the 0.3.0 release.\
5
5
 
6
+ ## 0.4.8
7
+ * Adding the `clear` method in CLI
8
+ * Adding `syncFromLibrary` in synchronizer[doc](./synchronizer.md#syncFromLibrary).
9
+ * Adding `sync_from_library` command in CLI[doc](./cli.md#sync_from_library-command).
10
+ * Cleaning the JWT components and requirements
11
+ * Adding the `definition` attribute in the Library class
12
+ * Adding capability to define a specific environment name when creating a library in synchronizer
13
+
6
14
  ## 0.4.7
7
- * modify `getRuleComponents` to `getRulesComponents` as it can return all the rules components if no rule is specified. Kept `getRuleComponents` as an alias for backward compatibility and also provide a single rule components retrieval.
15
+ * Modify `getRuleComponents` to `getRulesComponents` as it can return all the rules components if no rule is specified. Kept `getRuleComponents` as an alias for backward compatibility and also provide a single rule components retrieval.
8
16
  * Adding the `CLI` layer. [Documentation to CLI](cli.md)
9
17
 
10
18
  ## 0.4.6