pygooglecloud 0.0.2__tar.gz → 0.0.4__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.
@@ -0,0 +1,163 @@
1
+ # generated
2
+ /build/
3
+ /toolchain/
4
+ /dist/
5
+ /target/
6
+ /out/
7
+ *.out
8
+ /.mypy_cache/
9
+
10
+ # folders to git ignore
11
+ /*.gi
12
+
13
+ # gems
14
+ /gems/
15
+
16
+ # hive
17
+ derby.log
18
+ dfs/
19
+ metastore_db/
20
+
21
+ # c, c++ stuff
22
+ *.o
23
+ *.so
24
+ *.a
25
+ *.dis
26
+ /Makefile.bak
27
+ *.o.ur-safe
28
+ *.oo
29
+ *.elf
30
+ *.dep
31
+ /core.*
32
+ lib*.so.*
33
+ *.gch
34
+ *.pchi
35
+ *.gcda
36
+
37
+ # kernel stuff
38
+ *.ko
39
+ # *.mod
40
+ *.mod.c
41
+ *.mod.cmd
42
+ .*.o.cmd
43
+ .*.ko.cmd
44
+ .*.o.tmp
45
+ .*.o.d
46
+ .tmp_versions
47
+ Module.symvers
48
+ modules.order
49
+ *.objdump
50
+ /src/kernel/.*.tmp
51
+ .modules.*.cmd
52
+ .Module.*.cmd
53
+ /flags.cfg
54
+ # device tree binary files and binary overlay files
55
+ *.dtb
56
+ *.dtbo
57
+
58
+ # sphinx
59
+ /docs/_build/
60
+ /docs/.doctrees/environment.pickle
61
+
62
+ # installations
63
+ /external/
64
+ /install/
65
+ *.tar.gz
66
+
67
+ # python
68
+ __pycache__/
69
+ *.py[oc]
70
+ /wheel/
71
+ /.venv/
72
+ .coverage
73
+ .coverage.*
74
+ coverage.xml
75
+ *.egg-info/
76
+
77
+ # mine
78
+ /.pydmt.build.errors
79
+ /.pydmt/
80
+ *.stamp
81
+ *.stamp.*
82
+
83
+ # java
84
+ *.class
85
+ *.jar
86
+ *.war
87
+ *.ear
88
+ *.jsa
89
+ /.mtj.tmp/
90
+ /hs_err_pid*
91
+
92
+ # node modules
93
+ node_modules/
94
+
95
+ # ppt, pdf
96
+ /doc/odp/*.pdf
97
+ /doc/odp/*.ppt
98
+
99
+ # intel compiler pgo
100
+ *.dyn
101
+ *.dpi
102
+ # *.lock
103
+
104
+ # dwarf dynamic debug info
105
+ *.dwo
106
+
107
+ # locks by open office
108
+ .~lock.*
109
+
110
+ # haskell
111
+ *.hi
112
+
113
+ # repositries of deb packages
114
+ /deb/mypackage/DEBIAN/control
115
+
116
+ # generic
117
+ *.log
118
+
119
+ # scons
120
+ .sconsign.dblite
121
+
122
+ # DS_Store
123
+ .DS_Store
124
+
125
+ # Java stuff
126
+ .gradle/
127
+ target/
128
+ build/
129
+
130
+ # Jupyter notebooks
131
+ .ipynb_checkpoints/
132
+
133
+ # c#
134
+ **/obj/
135
+ **/bin/
136
+
137
+ # vscode
138
+ .vscode/
139
+
140
+ # qemu
141
+ *.qcow2
142
+ *.iso
143
+
144
+ # jetbrains and eclipse
145
+ .cache
146
+ .settings
147
+ .classpath
148
+ .project
149
+ .project.xml
150
+ .idea/
151
+ build.properties
152
+
153
+ # spark
154
+ spark-warehouse/
155
+
156
+ # terraform
157
+ .terraform*
158
+ terraform.tfstate
159
+ terraform.tfstate.backup
160
+
161
+ # scala
162
+ target/
163
+ project/
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.4
2
+ Name: pygooglecloud
3
+ Version: 0.0.4
4
+ Summary: pygooglecloud helps you with command line interaction with gcp
5
+ Project-URL: Homepage, https://github.com/veltzer/pygooglecloud
6
+ Project-URL: Bug Tracker, https://github.com/veltzer/pygooglecloud/issues
7
+ Project-URL: Documentation, https://veltzer.github.io/pygooglecloud
8
+ Project-URL: Download, https://pypi.org/project/pygooglecloud/
9
+ Project-URL: Repository, https://github.com/veltzer/pygooglecloud
10
+ Author-email: Mark Veltzer <mark.veltzer@gmail.com>
11
+ Maintainer-email: Mark Veltzer <mark.veltzer@gmail.com>
12
+ License-Expression: MIT
13
+ License-File: LICENSE
14
+ Keywords: gae,gcp,python,shell,utilities
15
+ Classifier: Development Status :: 4 - Beta
16
+ Classifier: Environment :: Console
17
+ Classifier: License :: OSI Approved :: MIT License
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Programming Language :: Python
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3 :: Only
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Topic :: Utilities
24
+ Requires-Python: >=3.12
25
+ Requires-Dist: google-auth
26
+ Requires-Dist: pylogconf
27
+ Requires-Dist: pytconf
28
+ Description-Content-Type: text/markdown
29
+
30
+ # *pygooglecloud* project by Mark Veltzer
31
+
32
+ description: pygooglecloud helps you with command line interaction with gcp
33
+
34
+ project website: https://veltzer.github.io/pygooglecloud
35
+
36
+ author: Mark Veltzer
37
+
38
+ version: 0.0.4
39
+
40
+ ![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)
41
+
42
+ ## github
43
+
44
+ ![License](https://img.shields.io/github/license/veltzer/pygooglecloud)
45
+
46
+ ## build
47
+
48
+ ![build](https://github.com/veltzer/pygooglecloud/workflows/build/badge.svg)
49
+
50
+ ## pypi
51
+
52
+ ![PyPI - Status](https://img.shields.io/pypi/status/pygooglecloud)
53
+ ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pygooglecloud)
54
+ ![PyPI - License](https://img.shields.io/pypi/l/pygooglecloud)
55
+ ![PyPI - Package Name](https://img.shields.io/pypi/v/pygooglecloud)
56
+ ![PyPI - Format](https://img.shields.io/pypi/format/pygooglecloud)
57
+
58
+ ## pypi download
59
+
60
+ ![PyPI - Downloads](https://img.shields.io/pypi/dd/pygooglecloud)
61
+ ![PyPI - Downloads](https://img.shields.io/pypi/dw/pygooglecloud)
62
+ ![PyPI - Downloads](https://img.shields.io/pypi/dm/pygooglecloud)
63
+
64
+
65
+
66
+ ## contact me
67
+ [mailto](mailto:mark.veltzer@gmail.com)
68
+ ![gitter](https://img.shields.io/gitter/room/veltzer/mark.veltzer)
69
+ ![discord](https://img.shields.io/discord/719336281624281119)
70
+ ![discord](https://img.shields.io/discord/719336282194444302)
71
+
72
+ Mark Veltzer, Copyright © 2024, 2025
@@ -0,0 +1,43 @@
1
+ # *pygooglecloud* project by Mark Veltzer
2
+
3
+ description: pygooglecloud helps you with command line interaction with gcp
4
+
5
+ project website: https://veltzer.github.io/pygooglecloud
6
+
7
+ author: Mark Veltzer
8
+
9
+ version: 0.0.4
10
+
11
+ ![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)
12
+
13
+ ## github
14
+
15
+ ![License](https://img.shields.io/github/license/veltzer/pygooglecloud)
16
+
17
+ ## build
18
+
19
+ ![build](https://github.com/veltzer/pygooglecloud/workflows/build/badge.svg)
20
+
21
+ ## pypi
22
+
23
+ ![PyPI - Status](https://img.shields.io/pypi/status/pygooglecloud)
24
+ ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pygooglecloud)
25
+ ![PyPI - License](https://img.shields.io/pypi/l/pygooglecloud)
26
+ ![PyPI - Package Name](https://img.shields.io/pypi/v/pygooglecloud)
27
+ ![PyPI - Format](https://img.shields.io/pypi/format/pygooglecloud)
28
+
29
+ ## pypi download
30
+
31
+ ![PyPI - Downloads](https://img.shields.io/pypi/dd/pygooglecloud)
32
+ ![PyPI - Downloads](https://img.shields.io/pypi/dw/pygooglecloud)
33
+ ![PyPI - Downloads](https://img.shields.io/pypi/dm/pygooglecloud)
34
+
35
+
36
+
37
+ ## contact me
38
+ [mailto](mailto:mark.veltzer@gmail.com)
39
+ ![gitter](https://img.shields.io/gitter/room/veltzer/mark.veltzer)
40
+ ![discord](https://img.shields.io/discord/719336281624281119)
41
+ ![discord](https://img.shields.io/discord/719336282194444302)
42
+
43
+ Mark Veltzer, Copyright © 2024, 2025
@@ -0,0 +1,86 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "pygooglecloud"
7
+ version = "0.0.4"
8
+ requires-python = ">=3.12"
9
+ authors = [
10
+ { name = "Mark Veltzer", email = "mark.veltzer@gmail.com" }
11
+ ]
12
+ maintainers = [
13
+ { name = "Mark Veltzer", email = "mark.veltzer@gmail.com" }
14
+ ]
15
+ description = "pygooglecloud helps you with command line interaction with gcp"
16
+ readme = "README.md"
17
+ license = "MIT"
18
+ keywords=[
19
+ "gcp",
20
+ "gae",
21
+ "python",
22
+ "shell",
23
+ "utilities",
24
+ ]
25
+ classifiers = [
26
+ "Development Status :: 4 - Beta",
27
+ "Environment :: Console",
28
+ "Operating System :: OS Independent",
29
+ "Programming Language :: Python",
30
+ "Programming Language :: Python :: 3",
31
+ "Programming Language :: Python :: 3 :: Only",
32
+ "Programming Language :: Python :: 3.12",
33
+ "Topic :: Utilities",
34
+ "License :: OSI Approved :: MIT License",
35
+ ]
36
+ dependencies = [
37
+ "pylogconf",
38
+ "pytconf",
39
+ "google-auth",
40
+ ]
41
+
42
+ [project.urls]
43
+ "Homepage" = "https://github.com/veltzer/pygooglecloud"
44
+ "Bug Tracker" = "https://github.com/veltzer/pygooglecloud/issues"
45
+ "Documentation" = "https://veltzer.github.io/pygooglecloud"
46
+ "Download" = "https://pypi.org/project/pygooglecloud/"
47
+ "Repository" = "https://github.com/veltzer/pygooglecloud"
48
+
49
+ [project.scripts]
50
+ pygooglecloud = "pygooglecloud.main:main"
51
+
52
+ [tool.ruff]
53
+ line-length = 130
54
+
55
+ [tool.pytest.ini_options]
56
+ pythonpath = ["src"]
57
+
58
+ [tool.hatch.build.targets.wheel]
59
+ packages = ["src/pygooglecloud"]
60
+
61
+ [tool.hatch.build.targets.sdist]
62
+ include = [
63
+ "src/pygooglecloud/",
64
+ "README.md",
65
+ "LICENSE",
66
+ "pyproject.toml"
67
+ ]
68
+ exclude = [
69
+ ".gitignore",
70
+ ".github/",
71
+ "tests/",
72
+ "docs/",
73
+ "config/",
74
+ "*.md",
75
+ ]
76
+
77
+ [tool.mypy]
78
+ python_version = "3.12"
79
+ warn_return_any = true
80
+ warn_unused_configs = true
81
+
82
+ [tool.hatch.envs.default]
83
+ installer = "uv"
84
+
85
+ [tool.uv.pip]
86
+ prerelease = "disallow"
@@ -0,0 +1,3 @@
1
+ """
2
+ Initialize the module
3
+ """
@@ -0,0 +1,146 @@
1
+ """
2
+ The default group of operations that pygooglecloud has
3
+ """
4
+ import configparser
5
+ import json
6
+ import os
7
+ import sys
8
+
9
+ import pylogconf.core
10
+ from pytconf import register_endpoint, register_main, config_arg_parse_and_launch
11
+ import google.auth._cloud_sdk
12
+
13
+ from pygooglecloud.static import APP_NAME, DESCRIPTION, VERSION_STR
14
+
15
+ # Per-repo file (at the git root) naming the gcloud configuration to use.
16
+ GCP_CONF_FILE = ".gcp.conf"
17
+ GCP_CONF_KEY = "gcp_configuration_name"
18
+
19
+ _LOGIN_HINT = "Run: gcloud auth application-default login"
20
+
21
+
22
+ def _die(message: str) -> None:
23
+ """Print a short, clear, single-line error to stderr and exit non-zero.
24
+
25
+ No traceback: this command is meant to be called from shell startup
26
+ (e.g. an auto-enter hook), so a wall of Python stack trace is just noise.
27
+ """
28
+ print(f"pygooglecloud: {message}", file=sys.stderr)
29
+ raise SystemExit(1)
30
+
31
+
32
+ def _read_configuration_name() -> str:
33
+ """Return the gcloud configuration name from ./.gcp.conf at the git root.
34
+
35
+ The file is a flat key=value file, e.g.:
36
+ gcp_configuration_name=machines
37
+ """
38
+ if not os.path.isfile(GCP_CONF_FILE):
39
+ _die(f"no {GCP_CONF_FILE} found in the current directory (the git root).")
40
+ # configparser needs a section header; .gcp.conf has none, so synthesize one.
41
+ parser = configparser.ConfigParser()
42
+ with open(GCP_CONF_FILE, encoding="utf-8") as stream:
43
+ parser.read_string("[gcp]\n" + stream.read())
44
+ name = parser["gcp"].get(GCP_CONF_KEY, "").strip()
45
+ if not name:
46
+ _die(f"{GCP_CONF_FILE} does not set {GCP_CONF_KEY}.")
47
+ return name
48
+
49
+
50
+ def _read_project_from_configuration(name: str) -> str:
51
+ """Return the [core] project from the gcloud configuration named `name`.
52
+
53
+ Reads the on-disk gcloud configuration file directly (an INI file). This is
54
+ a pure file read with no network call and no dependency on the gcloud CLI,
55
+ which keeps invocation from a shell startup hook instant.
56
+ """
57
+ config_dir = google.auth._cloud_sdk.get_config_path()
58
+ config_file = os.path.join(config_dir, "configurations", f"config_{name}")
59
+ if not os.path.isfile(config_file):
60
+ _die(f"gcloud configuration '{name}' not found at {config_file}.")
61
+ parser = configparser.ConfigParser()
62
+ parser.read(config_file, encoding="utf-8")
63
+ project = parser.get("core", "project", fallback="").strip()
64
+ if not project:
65
+ _die(f"gcloud configuration '{name}' has no project set.")
66
+ return project
67
+
68
+
69
+ @register_endpoint(
70
+ description="get the current project id",
71
+ configs=[],
72
+ )
73
+ def get_project_id() -> None:
74
+ """
75
+ Print the GCP project id for this repository.
76
+
77
+ The project is resolved purely from local files (no network, no ADC):
78
+ 1. read ./.gcp.conf (at the git root) for the gcloud configuration name
79
+ 2. read that gcloud configuration's [core] project
80
+
81
+ Failures are reported as short one-line messages, no traceback.
82
+ """
83
+ name = _read_configuration_name()
84
+ print(_read_project_from_configuration(name))
85
+
86
+
87
+ def _is_valid_json_file(path: str) -> bool:
88
+ """Return True if `path` is a file containing parseable JSON."""
89
+ try:
90
+ with open(path, encoding="utf-8") as stream:
91
+ json.load(stream)
92
+ except (OSError, ValueError):
93
+ return False
94
+ return True
95
+
96
+
97
+ @register_endpoint(
98
+ description="check that Google credentials are present and well-formed",
99
+ configs=[],
100
+ )
101
+ def check_credentials() -> None:
102
+ """
103
+ Verify that local Google credentials are present and well-formed.
104
+
105
+ This is a pure local-file check with NO network call, so it is safe to run
106
+ from a shell startup hook without slowing down directory changes. It does
107
+ not (and cannot, without the network) detect a key that has been disabled
108
+ or revoked server-side; it catches the common cases of a missing or
109
+ corrupt credentials file.
110
+
111
+ Two credential styles, with advice tailored to each:
112
+ - service-account key: GOOGLE_APPLICATION_CREDENTIALS points at a JSON key
113
+ file (as set per-repo from the .gcp.conf project). A missing or malformed
114
+ file means the key needs to be (re)placed.
115
+ - user login: no GOOGLE_APPLICATION_CREDENTIALS; the gcloud Application
116
+ Default Credentials file is used, refreshed via `gcloud auth ... login`.
117
+ """
118
+ sa_key = os.environ.get("GOOGLE_APPLICATION_CREDENTIALS")
119
+ if sa_key:
120
+ if not os.path.isfile(sa_key):
121
+ _die(f"service-account key not found at {sa_key}.")
122
+ if not _is_valid_json_file(sa_key):
123
+ _die(f"service-account key at {sa_key} is not valid JSON.")
124
+ print("credentials OK")
125
+ return
126
+
127
+ adc_path = google.auth._cloud_sdk.get_application_default_credentials_path()
128
+ if not os.path.isfile(adc_path):
129
+ _die(f"no Google credentials found. {_LOGIN_HINT}")
130
+ if not _is_valid_json_file(adc_path):
131
+ _die(f"Google credentials at {adc_path} are malformed. {_LOGIN_HINT}")
132
+ print("credentials OK")
133
+
134
+
135
+ @register_main(
136
+ main_description=DESCRIPTION,
137
+ app_name=APP_NAME,
138
+ version=VERSION_STR,
139
+ )
140
+ def main():
141
+ pylogconf.core.setup()
142
+ config_arg_parse_and_launch()
143
+
144
+
145
+ if __name__ == "__main__":
146
+ main()
@@ -1,5 +1,5 @@
1
1
  """ version which can be consumed from within the module """
2
- VERSION_STR = "0.0.2"
2
+ VERSION_STR = "0.0.4"
3
3
  DESCRIPTION = "pygooglecloud helps you with command line interaction with gcp"
4
4
  APP_NAME = "pygooglecloud"
5
5
  LOGGER_NAME = "pygooglecloud"
@@ -1,45 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: pygooglecloud
3
- Version: 0.0.2
4
- Summary: pygooglecloud helps you with command line interaction with gcp
5
- Home-page: https://veltzer.github.io/pygooglecloud
6
- Download-URL: https://github.com/veltzer/pygooglecloud
7
- Author: Mark Veltzer
8
- Author-email: mark.veltzer@gmail.com
9
- Maintainer: Mark Veltzer
10
- Maintainer-email: mark.veltzer@gmail.com
11
- License: MIT
12
- Keywords: gcp,gae,python,shell,utilities
13
- Platform: python3
14
- Classifier: Development Status :: 4 - Beta
15
- Classifier: Environment :: Console
16
- Classifier: Operating System :: OS Independent
17
- Classifier: Programming Language :: Python
18
- Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.11
21
- Classifier: Topic :: Utilities
22
- Classifier: License :: OSI Approved :: MIT License
23
- Description-Content-Type: text/x-rst
24
- License-File: LICENSE
25
- Requires-Dist: pylogconf
26
- Requires-Dist: pytconf
27
- Requires-Dist: google-auth
28
-
29
- ===============
30
- *pygooglecloud*
31
- ===============
32
-
33
- .. image:: https://img.shields.io/pypi/v/pygooglecloud
34
-
35
- .. image:: https://img.shields.io/github/license/veltzer/pygooglecloud
36
-
37
- .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
38
-
39
- project website: https://veltzer.github.io/pygooglecloud
40
-
41
- author: Mark Veltzer
42
-
43
- version: 0.0.2
44
-
45
- Mark Veltzer <mark.veltzer@gmail.com>, Copyright © 2024
@@ -1,17 +0,0 @@
1
- ===============
2
- *pygooglecloud*
3
- ===============
4
-
5
- .. image:: https://img.shields.io/pypi/v/pygooglecloud
6
-
7
- .. image:: https://img.shields.io/github/license/veltzer/pygooglecloud
8
-
9
- .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
10
-
11
- project website: https://veltzer.github.io/pygooglecloud
12
-
13
- author: Mark Veltzer
14
-
15
- version: 0.0.2
16
-
17
- Mark Veltzer <mark.veltzer@gmail.com>, Copyright © 2024
File without changes
@@ -1,37 +0,0 @@
1
- """
2
- The default group of operations that pygooglecloud has
3
- """
4
- import pylogconf.core
5
- from pytconf import register_endpoint, register_main, config_arg_parse_and_launch
6
- import google.auth
7
-
8
- from pygooglecloud.static import APP_NAME, DESCRIPTION, VERSION_STR
9
-
10
-
11
- @register_endpoint(
12
- description="get the current project id",
13
- configs=[],
14
- )
15
- def get_project_id() -> None:
16
- """
17
- This will go to ~/.config/gcloud/configurtions/config_default unless
18
- GOOGLE_APPLICATION_CREDENTIALS environment variable points to something else
19
- if ~/.config/gcloud/configurtions/config_default is missing this will throw an exception.
20
- """
21
- _, project_id = google.auth.default()
22
- assert project_id is not None, "Could not find a project configured"
23
- print(project_id)
24
-
25
-
26
- @register_main(
27
- main_description=DESCRIPTION,
28
- app_name=APP_NAME,
29
- version=VERSION_STR,
30
- )
31
- def main():
32
- pylogconf.core.setup()
33
- config_arg_parse_and_launch()
34
-
35
-
36
- if __name__ == '__main__':
37
- main()
@@ -1,45 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: pygooglecloud
3
- Version: 0.0.2
4
- Summary: pygooglecloud helps you with command line interaction with gcp
5
- Home-page: https://veltzer.github.io/pygooglecloud
6
- Download-URL: https://github.com/veltzer/pygooglecloud
7
- Author: Mark Veltzer
8
- Author-email: mark.veltzer@gmail.com
9
- Maintainer: Mark Veltzer
10
- Maintainer-email: mark.veltzer@gmail.com
11
- License: MIT
12
- Keywords: gcp,gae,python,shell,utilities
13
- Platform: python3
14
- Classifier: Development Status :: 4 - Beta
15
- Classifier: Environment :: Console
16
- Classifier: Operating System :: OS Independent
17
- Classifier: Programming Language :: Python
18
- Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.11
21
- Classifier: Topic :: Utilities
22
- Classifier: License :: OSI Approved :: MIT License
23
- Description-Content-Type: text/x-rst
24
- License-File: LICENSE
25
- Requires-Dist: pylogconf
26
- Requires-Dist: pytconf
27
- Requires-Dist: google-auth
28
-
29
- ===============
30
- *pygooglecloud*
31
- ===============
32
-
33
- .. image:: https://img.shields.io/pypi/v/pygooglecloud
34
-
35
- .. image:: https://img.shields.io/github/license/veltzer/pygooglecloud
36
-
37
- .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
38
-
39
- project website: https://veltzer.github.io/pygooglecloud
40
-
41
- author: Mark Veltzer
42
-
43
- version: 0.0.2
44
-
45
- Mark Veltzer <mark.veltzer@gmail.com>, Copyright © 2024
@@ -1,14 +0,0 @@
1
- LICENSE
2
- README.rst
3
- setup.cfg
4
- setup.py
5
- pygooglecloud/__init__.py
6
- pygooglecloud/configs.py
7
- pygooglecloud/main.py
8
- pygooglecloud/static.py
9
- pygooglecloud.egg-info/PKG-INFO
10
- pygooglecloud.egg-info/SOURCES.txt
11
- pygooglecloud.egg-info/dependency_links.txt
12
- pygooglecloud.egg-info/entry_points.txt
13
- pygooglecloud.egg-info/requires.txt
14
- pygooglecloud.egg-info/top_level.txt
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- pygooglecloud = pygooglecloud.main:main
@@ -1,3 +0,0 @@
1
- pylogconf
2
- pytconf
3
- google-auth
@@ -1 +0,0 @@
1
- pygooglecloud
@@ -1,10 +0,0 @@
1
- [bdist_wheel]
2
- universal = 0
3
-
4
- [pycodestyle]
5
- max-line-length = 130
6
-
7
- [egg_info]
8
- tag_build =
9
- tag_date = 0
10
-
@@ -1,56 +0,0 @@
1
- import setuptools
2
-
3
-
4
- def get_readme():
5
- with open("README.rst") as f:
6
- return f.read()
7
-
8
-
9
- setuptools.setup(
10
- # the first three fields are a must according to the documentation
11
- name="pygooglecloud",
12
- version="0.0.2",
13
- packages=[
14
- "pygooglecloud",
15
- ],
16
- # from here all is optional
17
- description="pygooglecloud helps you with command line interaction with gcp",
18
- long_description=get_readme(),
19
- long_description_content_type="text/x-rst",
20
- author="Mark Veltzer",
21
- author_email="mark.veltzer@gmail.com",
22
- maintainer="Mark Veltzer",
23
- maintainer_email="mark.veltzer@gmail.com",
24
- keywords=[
25
- "gcp",
26
- "gae",
27
- "python",
28
- "shell",
29
- "utilities",
30
- ],
31
- url="https://veltzer.github.io/pygooglecloud",
32
- download_url="https://github.com/veltzer/pygooglecloud",
33
- license="MIT",
34
- platforms=[
35
- "python3",
36
- ],
37
- install_requires=[
38
- "pylogconf",
39
- "pytconf",
40
- "google-auth",
41
- ],
42
- classifiers=[
43
- "Development Status :: 4 - Beta",
44
- "Environment :: Console",
45
- "Operating System :: OS Independent",
46
- "Programming Language :: Python",
47
- "Programming Language :: Python :: 3",
48
- "Programming Language :: Python :: 3 :: Only",
49
- "Programming Language :: Python :: 3.11",
50
- "Topic :: Utilities",
51
- "License :: OSI Approved :: MIT License",
52
- ],
53
- entry_points={"console_scripts": [
54
- "pygooglecloud=pygooglecloud.main:main",
55
- ]},
56
- )
File without changes