okdata-cli 6.1.1__tar.gz → 7.0.0__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 (57) hide show
  1. {okdata_cli-6.1.1/okdata_cli.egg-info → okdata_cli-7.0.0}/PKG-INFO +12 -13
  2. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/README.md +3 -3
  3. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/__main__.py +0 -4
  4. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/command.py +0 -12
  5. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/permissions.py +5 -6
  6. okdata_cli-7.0.0/okdata/cli/commands/validators.py +59 -0
  7. {okdata_cli-6.1.1 → okdata_cli-7.0.0/okdata_cli.egg-info}/PKG-INFO +12 -13
  8. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata_cli.egg-info/SOURCES.txt +0 -19
  9. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata_cli.egg-info/requires.txt +1 -1
  10. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/pyproject.toml +1 -1
  11. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/setup.py +10 -18
  12. okdata_cli-6.1.1/okdata/__init__.py +0 -1
  13. okdata_cli-6.1.1/okdata/cli/commands/datasets/__init__.py +0 -3
  14. okdata_cli-6.1.1/okdata/cli/commands/datasets/datasets.py +0 -441
  15. okdata_cli-6.1.1/okdata/cli/commands/datasets/questions.py +0 -128
  16. okdata_cli-6.1.1/okdata/cli/commands/datasets/wizards.py +0 -131
  17. okdata_cli-6.1.1/okdata/cli/commands/status.py +0 -133
  18. okdata_cli-6.1.1/okdata/cli/commands/validators.py +0 -109
  19. okdata_cli-6.1.1/okdata/cli/data/output-format/datasets_config.json +0 -18
  20. okdata_cli-6.1.1/okdata/cli/data/output-format/datasets_config_verbose.json +0 -50
  21. okdata_cli-6.1.1/okdata/cli/data/output-format/datasets_copy_file_config.json +0 -18
  22. okdata_cli-6.1.1/okdata/cli/data/output-format/datasets_copy_file_config_2.json +0 -14
  23. okdata_cli-6.1.1/okdata/cli/data/output-format/datasets_dataset_config.json +0 -30
  24. okdata_cli-6.1.1/okdata/cli/data/output-format/datasets_dataset_version_config.json +0 -25
  25. okdata_cli-6.1.1/okdata/cli/data/output-format/datasets_dataset_version_edition_config.json +0 -22
  26. okdata_cli-6.1.1/okdata/cli/data/output-format/datasets_dataset_version_edition_distributions_config.json +0 -10
  27. okdata_cli-6.1.1/okdata/cli/data/output-format/datasets_dataset_versions_config.json +0 -17
  28. okdata_cli-6.1.1/okdata/cli/data/output-format/status_config.json +0 -23
  29. okdata_cli-6.1.1/okdata/cli/data/output-format/status_history_config.json +0 -43
  30. okdata_cli-6.1.1/okdata/cli/io.py +0 -30
  31. okdata_cli-6.1.1/okdata_cli.egg-info/top_level.txt +0 -2
  32. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/LICENSE +0 -0
  33. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/__init__.py +0 -0
  34. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/__init__.py +0 -0
  35. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/pubs/__init__.py +0 -0
  36. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/pubs/clients.py +0 -0
  37. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/pubs/pubs.py +0 -0
  38. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/pubs/questions.py +0 -0
  39. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/pubs/wizards.py +0 -0
  40. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/teams/questions.py +0 -0
  41. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/teams/teams.py +0 -0
  42. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/teams/util.py +0 -0
  43. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/teams/wizards.py +0 -0
  44. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/commands/wizard.py +0 -0
  45. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/data/output-format/my_permissions_config.json +0 -0
  46. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/data/output-format/permissions_config.json +0 -0
  47. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/data/output-format/pubs_audit_log_config.json +0 -0
  48. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/data/output-format/pubs_clients_config.json +0 -0
  49. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/data/output-format/pubs_multiple_client_keys_config.json +0 -0
  50. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/data/output-format/pubs_single_client_keys_config.json +0 -0
  51. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/data/output-format/team_members_config.json +0 -0
  52. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/data/output-format/teams_config.json +0 -0
  53. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata/cli/output.py +0 -0
  54. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata_cli.egg-info/dependency_links.txt +0 -0
  55. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/okdata_cli.egg-info/entry_points.txt +0 -0
  56. /okdata_cli-6.1.1/okdata_cli.egg-info/namespace_packages.txt → /okdata_cli-7.0.0/okdata_cli.egg-info/top_level.txt +0 -0
  57. {okdata_cli-6.1.1 → okdata_cli-7.0.0}/setup.cfg +0 -0
@@ -1,24 +1,23 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: okdata-cli
3
- Version: 6.1.1
4
- Summary: CLI for services provided by Oslo Origo
5
- Home-page: https://github.com/oslokommune/okdata-cli/
6
- Author: Oslo Origo
3
+ Version: 7.0.0
4
+ Summary: CLI access to public services for Oslo kommune
5
+ Home-page: https://github.com/oslokommune/okdata-cli
6
+ Author: Oslo kommune
7
7
  Author-email: dataspeilet@oslo.kommune.no
8
- License: MIT
8
+ License-Expression: MIT
9
9
  Classifier: Development Status :: 5 - Production/Stable
10
- Classifier: Programming Language :: Python :: 3.10
11
10
  Classifier: Programming Language :: Python :: 3.11
12
11
  Classifier: Programming Language :: Python :: 3.12
13
12
  Classifier: Programming Language :: Python :: 3.13
14
13
  Classifier: Programming Language :: Python :: 3.14
15
- Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3.15
16
15
  Classifier: Operating System :: OS Independent
17
- Requires-Python: >=3.10
16
+ Requires-Python: >=3.11
18
17
  Description-Content-Type: text/markdown
19
18
  License-File: LICENSE
20
19
  Requires-Dist: docopt
21
- Requires-Dist: okdata-sdk<5,>=4.1
20
+ Requires-Dist: okdata-sdk<6,>=5
22
21
  Requires-Dist: PrettyTable
23
22
  Requires-Dist: questionary<2.0.0,>=1.10.0
24
23
  Requires-Dist: prompt-toolkit<3.0.52
@@ -29,19 +28,19 @@ Dynamic: classifier
29
28
  Dynamic: description
30
29
  Dynamic: description-content-type
31
30
  Dynamic: home-page
32
- Dynamic: license
33
31
  Dynamic: license-file
32
+ Dynamic: license-expression
34
33
  Dynamic: requires-dist
35
34
  Dynamic: requires-python
36
35
  Dynamic: summary
37
36
 
38
- # `okdata-cli`: Oslo Origo data services CLI
37
+ # `okdata-cli`: CLI access to public services for Oslo kommune
39
38
 
40
- Okdata CLI provides a unified interface to data services for Oslo Origo teams.
39
+ Okdata CLI provides a unified interface for accessing public services for
40
+ Oslo kommune.
41
41
 
42
42
  * [Install](doc/install.md)
43
43
  * [Configuration](doc/configuration.md)
44
44
  * [Public services](doc/pubs.md)
45
45
  * [Teams](doc/teams.md)
46
- * [Datasets](doc/datasets.md)
47
46
  * [Permissions](doc/permissions.md)
@@ -1,10 +1,10 @@
1
- # `okdata-cli`: Oslo Origo data services CLI
1
+ # `okdata-cli`: CLI access to public services for Oslo kommune
2
2
 
3
- Okdata CLI provides a unified interface to data services for Oslo Origo teams.
3
+ Okdata CLI provides a unified interface for accessing public services for
4
+ Oslo kommune.
4
5
 
5
6
  * [Install](doc/install.md)
6
7
  * [Configuration](doc/configuration.md)
7
8
  * [Public services](doc/pubs.md)
8
9
  * [Teams](doc/teams.md)
9
- * [Datasets](doc/datasets.md)
10
10
  * [Permissions](doc/permissions.md)
@@ -8,10 +8,8 @@ from requests.exceptions import ConnectTimeout, RequestException
8
8
 
9
9
  from okdata.cli import MAINTAINER
10
10
  from okdata.cli.command import BaseCommand
11
- from okdata.cli.commands.datasets import DatasetsCommand
12
11
  from okdata.cli.commands.permissions import PermissionsCommand
13
12
  from okdata.cli.commands.pubs import PubsCommand
14
- from okdata.cli.commands.status import StatusCommand
15
13
  from okdata.cli.commands.teams.teams import TeamsCommand
16
14
 
17
15
 
@@ -88,10 +86,8 @@ def main():
88
86
 
89
87
  def get_command_class(argv):
90
88
  commands = {
91
- "datasets": DatasetsCommand,
92
89
  "permissions": PermissionsCommand,
93
90
  "pubs": PubsCommand,
94
- "status": StatusCommand,
95
91
  "teams": TeamsCommand,
96
92
  }
97
93
  return commands.get(argv[1], False)
@@ -19,20 +19,16 @@ class BaseCommand:
19
19
  __doc__ = f"""okdata-cli {version}
20
20
 
21
21
  usage:
22
- okdata datasets [options]
23
22
  okdata permissions [options]
24
23
  okdata pubs [options]
25
- okdata status [options]
26
24
  okdata teams [options]
27
25
  okdata -e | --environment
28
26
  okdata -h | --help
29
27
  okdata -v | --version
30
28
 
31
29
  Commands available:
32
- datasets
33
30
  permissions
34
31
  pubs
35
- status
36
32
  teams
37
33
 
38
34
  Options:{BASE_COMMAND_OPTIONS}
@@ -70,14 +66,6 @@ Options:{BASE_COMMAND_OPTIONS}
70
66
  def opt(self, key):
71
67
  return self.args.get(f"--{key}", None)
72
68
 
73
- def handle_input(self):
74
- if self.cmd("-"):
75
- content = sys.stdin.read()
76
- else:
77
- with open(self.arg("file")) as f:
78
- content = f.read()
79
- return content
80
-
81
69
  def print(self, str, payload=None):
82
70
  is_structured_data = self.opt("format") in ("csv", "json")
83
71
 
@@ -17,14 +17,13 @@ Usage:
17
17
 
18
18
  Examples:
19
19
  okdata permissions ls
20
- okdata permissions ls okdata:dataset:my-dataset
21
- okdata permissions add okdata:dataset:my-dataset janedoe
22
- okdata permissions add okdata:dataset:my-dataset janedoe okdata:dataset:read
23
- okdata permissions rm okdata:dataset:my-dataset janedoe
24
- okdata permissions rm okdata:dataset:my-dataset janedoe okdata:dataset:write
20
+ okdata permissions ls maskinporten:client:test-6970b743-5075-3f1a-3d35-ac84ea3dc79b
21
+ okdata permissions add maskinporten:client:test-6970b743-5075-3f1a-3d35-ac84ea3dc79b janedoe
22
+ okdata permissions add maskinporten:client:test-6970b743-5075-3f1a-3d35-ac84ea3dc79b janedoe maskinporten:client:read
23
+ okdata permissions rm maskinporten:client:test-6970b743-5075-3f1a-3d35-ac84ea3dc79b janedoe
24
+ okdata permissions rm maskinporten:client:test-6970b743-5075-3f1a-3d35-ac84ea3dc79b janedoe maskinporten:client:write
25
25
 
26
26
  Options:{BASE_COMMAND_OPTIONS}
27
- --history
28
27
  """
29
28
 
30
29
  def __init__(self):
@@ -0,0 +1,59 @@
1
+ import re
2
+ from types import SimpleNamespace
3
+ from urllib.parse import urlparse
4
+
5
+ from questionary import Validator, ValidationError
6
+
7
+ # Validators for questionary.
8
+ #
9
+ # We don't want to make these too complicated for now, but implement a base
10
+ # validation to get content for the wizards. Questionary is only interested in
11
+ # the `ValidationError`, so no return values are needed.
12
+
13
+
14
+ class IntegrationValidator(Validator):
15
+ def validate(self, document):
16
+ if len(document.text) > 30:
17
+ raise ValidationError(
18
+ message="Too long!", cursor_position=len(document.text)
19
+ )
20
+ if not re.fullmatch("[0-9a-zA-ZæøåÆØÅ -]+", document.text):
21
+ raise ValidationError(
22
+ message='Only letters, numbers, spaces and "-", please',
23
+ cursor_position=len(document.text),
24
+ )
25
+
26
+
27
+ class AWSAccountValidator(Validator):
28
+ def validate(self, document):
29
+ if not re.fullmatch("[0-9]{12}", document.text):
30
+ raise ValidationError(
31
+ message="12 digits, please", cursor_position=len(document.text)
32
+ )
33
+
34
+
35
+ class URIValidator(Validator):
36
+ def validate(self, document):
37
+ parsed = urlparse(document.text)
38
+
39
+ if not (parsed.scheme and parsed.netloc):
40
+ raise ValidationError(
41
+ message="Please enter a valid URI, including scheme (e.g. https://...)",
42
+ cursor_position=len(document.text),
43
+ )
44
+
45
+
46
+ class URIListValidator(Validator):
47
+ def validate(self, document):
48
+ uri_validator = URIValidator()
49
+ try:
50
+ for val in document.text.split(","):
51
+ uri_validator.validate(SimpleNamespace(text=val))
52
+ except ValidationError:
53
+ raise ValidationError(
54
+ message=(
55
+ "Please enter a comma-separated list of URIs, including scheme "
56
+ "(e.g. https://...)"
57
+ ),
58
+ cursor_position=len(document.text),
59
+ )
@@ -1,24 +1,23 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: okdata-cli
3
- Version: 6.1.1
4
- Summary: CLI for services provided by Oslo Origo
5
- Home-page: https://github.com/oslokommune/okdata-cli/
6
- Author: Oslo Origo
3
+ Version: 7.0.0
4
+ Summary: CLI access to public services for Oslo kommune
5
+ Home-page: https://github.com/oslokommune/okdata-cli
6
+ Author: Oslo kommune
7
7
  Author-email: dataspeilet@oslo.kommune.no
8
- License: MIT
8
+ License-Expression: MIT
9
9
  Classifier: Development Status :: 5 - Production/Stable
10
- Classifier: Programming Language :: Python :: 3.10
11
10
  Classifier: Programming Language :: Python :: 3.11
12
11
  Classifier: Programming Language :: Python :: 3.12
13
12
  Classifier: Programming Language :: Python :: 3.13
14
13
  Classifier: Programming Language :: Python :: 3.14
15
- Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3.15
16
15
  Classifier: Operating System :: OS Independent
17
- Requires-Python: >=3.10
16
+ Requires-Python: >=3.11
18
17
  Description-Content-Type: text/markdown
19
18
  License-File: LICENSE
20
19
  Requires-Dist: docopt
21
- Requires-Dist: okdata-sdk<5,>=4.1
20
+ Requires-Dist: okdata-sdk<6,>=5
22
21
  Requires-Dist: PrettyTable
23
22
  Requires-Dist: questionary<2.0.0,>=1.10.0
24
23
  Requires-Dist: prompt-toolkit<3.0.52
@@ -29,19 +28,19 @@ Dynamic: classifier
29
28
  Dynamic: description
30
29
  Dynamic: description-content-type
31
30
  Dynamic: home-page
32
- Dynamic: license
33
31
  Dynamic: license-file
32
+ Dynamic: license-expression
34
33
  Dynamic: requires-dist
35
34
  Dynamic: requires-python
36
35
  Dynamic: summary
37
36
 
38
- # `okdata-cli`: Oslo Origo data services CLI
37
+ # `okdata-cli`: CLI access to public services for Oslo kommune
39
38
 
40
- Okdata CLI provides a unified interface to data services for Oslo Origo teams.
39
+ Okdata CLI provides a unified interface for accessing public services for
40
+ Oslo kommune.
41
41
 
42
42
  * [Install](doc/install.md)
43
43
  * [Configuration](doc/configuration.md)
44
44
  * [Public services](doc/pubs.md)
45
45
  * [Teams](doc/teams.md)
46
- * [Datasets](doc/datasets.md)
47
46
  * [Permissions](doc/permissions.md)
@@ -2,21 +2,14 @@ LICENSE
2
2
  README.md
3
3
  pyproject.toml
4
4
  setup.py
5
- okdata/__init__.py
6
5
  okdata/cli/__init__.py
7
6
  okdata/cli/__main__.py
8
7
  okdata/cli/command.py
9
- okdata/cli/io.py
10
8
  okdata/cli/output.py
11
9
  okdata/cli/commands/__init__.py
12
10
  okdata/cli/commands/permissions.py
13
- okdata/cli/commands/status.py
14
11
  okdata/cli/commands/validators.py
15
12
  okdata/cli/commands/wizard.py
16
- okdata/cli/commands/datasets/__init__.py
17
- okdata/cli/commands/datasets/datasets.py
18
- okdata/cli/commands/datasets/questions.py
19
- okdata/cli/commands/datasets/wizards.py
20
13
  okdata/cli/commands/pubs/__init__.py
21
14
  okdata/cli/commands/pubs/clients.py
22
15
  okdata/cli/commands/pubs/pubs.py
@@ -26,29 +19,17 @@ okdata/cli/commands/teams/questions.py
26
19
  okdata/cli/commands/teams/teams.py
27
20
  okdata/cli/commands/teams/util.py
28
21
  okdata/cli/commands/teams/wizards.py
29
- okdata/cli/data/output-format/datasets_config.json
30
- okdata/cli/data/output-format/datasets_config_verbose.json
31
- okdata/cli/data/output-format/datasets_copy_file_config.json
32
- okdata/cli/data/output-format/datasets_copy_file_config_2.json
33
- okdata/cli/data/output-format/datasets_dataset_config.json
34
- okdata/cli/data/output-format/datasets_dataset_version_config.json
35
- okdata/cli/data/output-format/datasets_dataset_version_edition_config.json
36
- okdata/cli/data/output-format/datasets_dataset_version_edition_distributions_config.json
37
- okdata/cli/data/output-format/datasets_dataset_versions_config.json
38
22
  okdata/cli/data/output-format/my_permissions_config.json
39
23
  okdata/cli/data/output-format/permissions_config.json
40
24
  okdata/cli/data/output-format/pubs_audit_log_config.json
41
25
  okdata/cli/data/output-format/pubs_clients_config.json
42
26
  okdata/cli/data/output-format/pubs_multiple_client_keys_config.json
43
27
  okdata/cli/data/output-format/pubs_single_client_keys_config.json
44
- okdata/cli/data/output-format/status_config.json
45
- okdata/cli/data/output-format/status_history_config.json
46
28
  okdata/cli/data/output-format/team_members_config.json
47
29
  okdata/cli/data/output-format/teams_config.json
48
30
  okdata_cli.egg-info/PKG-INFO
49
31
  okdata_cli.egg-info/SOURCES.txt
50
32
  okdata_cli.egg-info/dependency_links.txt
51
33
  okdata_cli.egg-info/entry_points.txt
52
- okdata_cli.egg-info/namespace_packages.txt
53
34
  okdata_cli.egg-info/requires.txt
54
35
  okdata_cli.egg-info/top_level.txt
@@ -1,5 +1,5 @@
1
1
  docopt
2
- okdata-sdk<5,>=4.1
2
+ okdata-sdk<6,>=5
3
3
  PrettyTable
4
4
  questionary<2.0.0,>=1.10.0
5
5
  prompt-toolkit<3.0.52
@@ -1,5 +1,5 @@
1
1
  [tool.black]
2
- target-version = ['py38']
2
+ target-version = ['py311']
3
3
  # Keep exclude in sync with flake8 config in tox.ini
4
4
  exclude = '''
5
5
  /(
@@ -5,26 +5,19 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="okdata-cli",
8
- version="6.1.1",
9
- author="Oslo Origo",
8
+ version="7.0.0",
9
+ author="Oslo kommune",
10
10
  author_email="dataspeilet@oslo.kommune.no",
11
- description="CLI for services provided by Oslo Origo",
12
- license="MIT",
11
+ description="CLI access to public services for Oslo kommune",
13
12
  long_description=long_description,
14
13
  long_description_content_type="text/markdown",
15
- url="https://github.com/oslokommune/okdata-cli/",
16
- packages=setuptools.find_namespace_packages(
17
- include="okdata.cli.*", exclude=["tests*"]
18
- ),
19
- namespace_packages=["okdata"],
20
- package_data={
21
- "okdata": [
22
- "cli/data/output-format/*",
23
- ],
24
- },
14
+ url="https://github.com/oslokommune/okdata-cli",
15
+ license_expression="MIT",
16
+ packages=setuptools.find_namespace_packages(include=["okdata.*"]),
17
+ package_data={"okdata.cli": ["data/output-format/*"]},
25
18
  install_requires=[
26
19
  "docopt",
27
- "okdata-sdk>=4.1,<5",
20
+ "okdata-sdk>=5,<6",
28
21
  "PrettyTable",
29
22
  # TODO: Upgrade to questionary 2.x.
30
23
  "questionary>=1.10.0,<2.0.0",
@@ -37,13 +30,12 @@ setuptools.setup(
37
30
  entry_points={"console_scripts": ["okdata=okdata.cli.__main__:main"]},
38
31
  classifiers=[
39
32
  "Development Status :: 5 - Production/Stable",
40
- "Programming Language :: Python :: 3.10",
41
33
  "Programming Language :: Python :: 3.11",
42
34
  "Programming Language :: Python :: 3.12",
43
35
  "Programming Language :: Python :: 3.13",
44
36
  "Programming Language :: Python :: 3.14",
45
- "License :: OSI Approved :: MIT License",
37
+ "Programming Language :: Python :: 3.15",
46
38
  "Operating System :: OS Independent",
47
39
  ],
48
- python_requires=">=3.10",
40
+ python_requires=">=3.11",
49
41
  )
@@ -1 +0,0 @@
1
- __import__("pkg_resources").declare_namespace(__name__)
@@ -1,3 +0,0 @@
1
- from .datasets import DatasetsCommand
2
-
3
- __all__ = ["DatasetsCommand"]