gibson-cli 0.3.5__py3-none-any.whl → 0.5.0__py3-none-any.whl
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.
- gibson/api/Cli.py +16 -1
- gibson/command/Build.py +14 -4
- gibson/command/Code.py +7 -7
- gibson/command/Conf.py +14 -11
- gibson/command/Count.py +6 -4
- gibson/command/Dev.py +9 -4
- gibson/command/Forget.py +12 -13
- gibson/command/Help.py +125 -0
- gibson/command/Import.py +18 -8
- gibson/command/List.py +7 -3
- gibson/command/Merge.py +2 -4
- gibson/command/Model.py +4 -4
- gibson/command/Modify.py +4 -6
- gibson/command/Module.py +5 -6
- gibson/command/New.py +3 -5
- gibson/command/OpenApi.py +8 -7
- gibson/command/Question.py +16 -8
- gibson/command/Remove.py +5 -4
- gibson/command/Rename.py +5 -5
- gibson/command/Schema.py +4 -4
- gibson/command/Show.py +9 -6
- gibson/command/Test.py +5 -5
- gibson/command/Tree.py +2 -1
- gibson/command/auth/Auth.py +2 -1
- gibson/command/rewrite/Rewrite.py +5 -3
- gibson/conf/Paths.py +2 -0
- gibson/core/Colors.py +8 -0
- gibson/core/CommandRouter.py +7 -122
- gibson/core/Completions.py +3 -2
- gibson/core/Configuration.py +77 -84
- gibson/core/Conversation.py +2 -1
- gibson/core/Env.py +3 -0
- gibson/core/Memory.py +4 -3
- gibson/core/PythonPath.py +52 -0
- gibson/services/auth/Server.py +1 -1
- gibson/services/code/customization/BaseCustomization.py +1 -1
- {gibson_cli-0.3.5.dist-info → gibson_cli-0.5.0.dist-info}/METADATA +7 -5
- {gibson_cli-0.3.5.dist-info → gibson_cli-0.5.0.dist-info}/RECORD +41 -39
- {gibson_cli-0.3.5.dist-info → gibson_cli-0.5.0.dist-info}/WHEEL +1 -1
- {gibson_cli-0.3.5.dist-info → gibson_cli-0.5.0.dist-info}/entry_points.txt +0 -0
- {gibson_cli-0.3.5.dist-info → gibson_cli-0.5.0.dist-info}/top_level.txt +0 -0
gibson/core/Configuration.py
CHANGED
@@ -11,12 +11,13 @@ from gibson.conf.Platform import Platform
|
|
11
11
|
from gibson.conf.Project import Project
|
12
12
|
from gibson.core.Completions import Completions
|
13
13
|
from gibson.core.Conversation import Conversation
|
14
|
+
from gibson.core.PythonPath import PythonPath
|
14
15
|
from gibson.services.auth.Server import Server as AuthServer
|
15
16
|
|
16
17
|
|
17
18
|
class Configuration:
|
18
19
|
VERSION = 2
|
19
|
-
API_ENV = os.environ.get("GIBSONAI_API_ENV", "
|
20
|
+
API_ENV = os.environ.get("GIBSONAI_API_ENV", "production")
|
20
21
|
|
21
22
|
def __init__(self):
|
22
23
|
self.command = None
|
@@ -25,18 +26,17 @@ class Configuration:
|
|
25
26
|
|
26
27
|
self.conversation = Conversation()
|
27
28
|
self.platform = Platform()
|
28
|
-
self.project =
|
29
|
+
self.project = None
|
29
30
|
self.paths = ConfigPaths()
|
30
31
|
self.settings = None
|
31
32
|
|
32
|
-
self.__check_configuration_path()
|
33
|
-
|
34
33
|
self.set_config_paths()
|
35
|
-
self.__check_for_configuration_migration()
|
36
|
-
|
37
34
|
self.read_config()
|
35
|
+
self.__check_for_configuration_migration()
|
36
|
+
self.setup_project()
|
38
37
|
|
39
38
|
Completions().write().install()
|
39
|
+
PythonPath().write().install()
|
40
40
|
|
41
41
|
def api_domain(self):
|
42
42
|
domains = {
|
@@ -62,6 +62,7 @@ class Configuration:
|
|
62
62
|
}[self.API_ENV]
|
63
63
|
|
64
64
|
def append_project_to_conf(self, project_name, project_description):
|
65
|
+
self.project = Project()
|
65
66
|
self.project.api.key = "FIXME"
|
66
67
|
self.project.name = project_name
|
67
68
|
self.project.datastore.type = "mysql"
|
@@ -194,37 +195,9 @@ class Configuration:
|
|
194
195
|
|
195
196
|
return value
|
196
197
|
|
197
|
-
def __check_configuration_path(self):
|
198
|
-
config_path = os.environ.get("GIBSONAI_CONFIG_PATH", None)
|
199
|
-
if config_path is None:
|
200
|
-
return self
|
201
|
-
|
202
|
-
if not os.path.isfile(f"{config_path}/config"):
|
203
|
-
self.conversation.newline()
|
204
|
-
self.conversation.type(
|
205
|
-
"[MIGRATION] environment variable detected; moving configuration to\n"
|
206
|
-
+ f" {config_path}\n\n"
|
207
|
-
)
|
208
|
-
|
209
|
-
self.set_config_paths(ignore_env_vars=True)
|
210
|
-
self.read_config()
|
211
|
-
|
212
|
-
old_memory_path = self.project.paths.memory
|
213
|
-
|
214
|
-
self.set_config_paths()
|
215
|
-
self.create_project_memory()
|
216
|
-
self.write_config()
|
217
|
-
|
218
|
-
shutil.copytree(
|
219
|
-
f"{old_memory_path}/{self.project.name}",
|
220
|
-
f"{self.project.paths.memory}/{self.project.name}",
|
221
|
-
)
|
222
|
-
|
223
|
-
return self
|
224
|
-
|
225
198
|
def __check_for_configuration_migration(self):
|
226
199
|
try:
|
227
|
-
with open(self.
|
200
|
+
with open(self.paths.config, "r") as f:
|
228
201
|
contents = f.read()
|
229
202
|
except FileNotFoundError:
|
230
203
|
return self
|
@@ -275,12 +248,28 @@ class Configuration:
|
|
275
248
|
return self
|
276
249
|
|
277
250
|
def create_project_memory(self):
|
251
|
+
self.ensure_project()
|
278
252
|
try:
|
279
253
|
os.makedirs(self.project.paths.memory)
|
280
254
|
except OSError as e:
|
281
255
|
if e.errno != errno.EEXIST:
|
282
256
|
raise
|
283
257
|
|
258
|
+
def display_project(self):
|
259
|
+
if self.project is not None:
|
260
|
+
self.conversation.display_project(self.project.name)
|
261
|
+
|
262
|
+
def ensure_project(self):
|
263
|
+
if self.project is None:
|
264
|
+
self.conversation.gibsonai_project_not_set(self)
|
265
|
+
exit(1)
|
266
|
+
|
267
|
+
if self.project.name not in self.settings:
|
268
|
+
self.conversation.unrecognized_project(self, self.project.name)
|
269
|
+
exit(1)
|
270
|
+
|
271
|
+
return self
|
272
|
+
|
284
273
|
def get_access_token(self):
|
285
274
|
try:
|
286
275
|
with open(f"{self.paths.auth}/{self.API_ENV}", "r") as f:
|
@@ -292,6 +281,7 @@ class Configuration:
|
|
292
281
|
return token["access_token"]
|
293
282
|
|
294
283
|
def get_my_settings(self):
|
284
|
+
self.ensure_project()
|
295
285
|
return self.settings[self.project.name]
|
296
286
|
|
297
287
|
def get_refresh_token(self):
|
@@ -324,9 +314,7 @@ class Configuration:
|
|
324
314
|
section = self.append_project_to_conf(project_name, project_description)
|
325
315
|
self.create_project_memory()
|
326
316
|
|
327
|
-
self.conversation.message_configuration_added(
|
328
|
-
self.project.paths.config, section
|
329
|
-
)
|
317
|
+
self.conversation.message_configuration_added(self.paths.config, section)
|
330
318
|
self.conversation.wait()
|
331
319
|
self.conversation.message_customize_settings()
|
332
320
|
|
@@ -346,11 +334,11 @@ class Configuration:
|
|
346
334
|
self.conversation.newline()
|
347
335
|
self.conversation.type("We're opening your web browser to the login page.\n")
|
348
336
|
self.conversation.type("Please log in and then return to this window.\n")
|
337
|
+
self.conversation.newline()
|
349
338
|
self.conversation.type(
|
350
339
|
"If your browser does not open automatically, visit this URL:\n"
|
351
340
|
)
|
352
341
|
self.conversation.type(f"{server.get_url()}\n")
|
353
|
-
self.conversation.newline()
|
354
342
|
|
355
343
|
access_token, refresh_token = server.get_tokens()
|
356
344
|
if access_token is None or refresh_token is None:
|
@@ -361,30 +349,60 @@ class Configuration:
|
|
361
349
|
|
362
350
|
def read_config(self):
|
363
351
|
try:
|
364
|
-
with open(self.
|
352
|
+
with open(self.paths.config, "r") as f:
|
365
353
|
contents = f.read()
|
366
354
|
except FileNotFoundError:
|
367
355
|
return self
|
368
356
|
|
369
357
|
self.settings = json.loads(contents)
|
370
|
-
if self.settings is None:
|
371
|
-
return self
|
372
358
|
|
359
|
+
return self
|
360
|
+
|
361
|
+
def set_auth_tokens(self, access_token, refresh_token):
|
362
|
+
try:
|
363
|
+
os.mkdir(self.paths.auth)
|
364
|
+
except FileExistsError:
|
365
|
+
pass
|
366
|
+
|
367
|
+
with open(f"{self.paths.auth}/{self.API_ENV}", "w") as f:
|
368
|
+
data = {"access_token": access_token, "refresh_token": refresh_token}
|
369
|
+
json.dump(data, f, indent=2)
|
370
|
+
|
371
|
+
def set_config_paths(self):
|
372
|
+
gibson_config_dir = ".gibsonai"
|
373
|
+
user_home = os.environ.get("HOME")
|
374
|
+
if user_home is None:
|
375
|
+
raise RuntimeError(
|
376
|
+
"Gibson here. Please set your HOME environment variable."
|
377
|
+
)
|
378
|
+
|
379
|
+
self.paths.top = f"{user_home}/{gibson_config_dir}"
|
380
|
+
self.paths.auth = f"{self.paths.top}/auth"
|
381
|
+
self.paths.config = f"{self.paths.top}/config"
|
382
|
+
|
383
|
+
def set_project_env(self, project_name):
|
384
|
+
os.environ["GIBSONAI_PROJECT"] = project_name
|
385
|
+
return self
|
386
|
+
|
387
|
+
def setup_project(self):
|
388
|
+
config = None
|
373
389
|
if len(self.settings.keys()) == 1:
|
374
390
|
config = list(self.settings.values())[0]
|
391
|
+
self.project = Project()
|
375
392
|
self.project.name = list(self.settings.keys())[0]
|
376
393
|
else:
|
377
394
|
gibsonai_project = os.environ.get("GIBSONAI_PROJECT")
|
378
395
|
if gibsonai_project is None:
|
379
|
-
|
380
|
-
|
396
|
+
# TODO: traverse fs and attempt to find a .gibsonai/config file to use
|
397
|
+
pass
|
381
398
|
|
382
|
-
if gibsonai_project not
|
383
|
-
self.
|
384
|
-
|
399
|
+
if gibsonai_project is not None:
|
400
|
+
self.project = Project()
|
401
|
+
self.project.name = gibsonai_project
|
402
|
+
config = self.settings[gibsonai_project]
|
385
403
|
|
386
|
-
|
387
|
-
self
|
404
|
+
if config is None or self.project is None:
|
405
|
+
return self
|
388
406
|
|
389
407
|
self.project.api.key = config["api"]["key"]
|
390
408
|
self.project.code.custom.model_class = config["code"]["custom"]["model"][
|
@@ -409,45 +427,19 @@ class Configuration:
|
|
409
427
|
self.project.description = config["meta"]["project"]["description"]
|
410
428
|
self.project.modeler.version = config["modeler"]["version"]
|
411
429
|
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
os.mkdir(self.paths.auth)
|
417
|
-
except FileExistsError:
|
418
|
-
pass
|
419
|
-
|
420
|
-
with open(f"{self.paths.auth}/{self.API_ENV}", "w") as f:
|
421
|
-
data = {"access_token": access_token, "refresh_token": refresh_token}
|
422
|
-
json.dump(data, f, indent=2)
|
423
|
-
|
424
|
-
def set_config_paths(self, ignore_env_vars=False):
|
425
|
-
user_home = os.environ.get("HOME")
|
426
|
-
gibson_config_dir = ".gibsonai"
|
427
|
-
self.paths.auth = f"{user_home}/{gibson_config_dir}/auth"
|
428
|
-
|
429
|
-
project_config_path = None
|
430
|
-
if ignore_env_vars is False:
|
431
|
-
project_config_path = os.environ.get("GIBSONAI_CONFIG_PATH", None)
|
432
|
-
|
433
|
-
if project_config_path is None:
|
434
|
-
project_config_path = user_home
|
435
|
-
if project_config_path is None:
|
436
|
-
raise RuntimeError(
|
437
|
-
"Gibson here. Please set your HOME environment variable."
|
438
|
-
)
|
439
|
-
|
440
|
-
project_config_path += f"/{gibson_config_dir}"
|
430
|
+
# TODO: needs to be fetched from project configuration
|
431
|
+
config_path = os.environ.get("GIBSONAI_CONFIG_PATH", None)
|
432
|
+
if config_path is None:
|
433
|
+
config_path = self.paths.top
|
441
434
|
|
442
|
-
self.project.paths.top =
|
443
|
-
self.project.paths.config = f"{self.project.paths.top}/config"
|
435
|
+
self.project.paths.top = config_path
|
444
436
|
self.project.paths.memory = f"{self.project.paths.top}/memory"
|
437
|
+
self.project.paths.config = f"{self.project.paths.top}/config"
|
445
438
|
|
446
|
-
def set_project_env(self, project_name):
|
447
|
-
os.environ["GIBSONAI_PROJECT"] = project_name
|
448
439
|
return self
|
449
440
|
|
450
441
|
def turn_dev_off(self):
|
442
|
+
self.ensure_project()
|
451
443
|
self.settings[self.project.name]["dev"]["active"] = False
|
452
444
|
self.write_config()
|
453
445
|
return self
|
@@ -455,6 +447,7 @@ class Configuration:
|
|
455
447
|
def turn_dev_on(
|
456
448
|
self, api_path, api_prefix, api_version, base_path, model_path, schema_path
|
457
449
|
):
|
450
|
+
self.ensure_project()
|
458
451
|
self.settings[self.project.name]["dev"]["active"] = True
|
459
452
|
self.settings[self.project.name]["dev"]["api"]["path"] = api_path
|
460
453
|
self.settings[self.project.name]["dev"]["api"]["prefix"] = api_prefix
|
@@ -467,11 +460,11 @@ class Configuration:
|
|
467
460
|
|
468
461
|
def write_config(self):
|
469
462
|
try:
|
470
|
-
os.mkdir("/".join(self.
|
463
|
+
os.mkdir("/".join(self.paths.config.split("/")[0:-1]))
|
471
464
|
except FileExistsError:
|
472
465
|
pass
|
473
466
|
|
474
|
-
with open(self.
|
467
|
+
with open(self.paths.config, "w") as f:
|
475
468
|
json.dump(self.settings, f, indent=2)
|
476
469
|
|
477
470
|
self.read_config()
|
gibson/core/Conversation.py
CHANGED
@@ -6,6 +6,7 @@ import time
|
|
6
6
|
import pyfiglet
|
7
7
|
|
8
8
|
from gibson.conf.Version import Version
|
9
|
+
from gibson.core.Colors import project
|
9
10
|
|
10
11
|
|
11
12
|
class Conversation:
|
@@ -72,7 +73,7 @@ class Conversation:
|
|
72
73
|
self.newline()
|
73
74
|
|
74
75
|
def display_project(self, project_name):
|
75
|
-
self.type(f"<> Project {project_name}\n\n")
|
76
|
+
self.type(f"<> Project {project(project_name)}\n\n")
|
76
77
|
|
77
78
|
def entities_hijacked(self):
|
78
79
|
self.type(
|
gibson/core/Env.py
CHANGED
@@ -4,6 +4,9 @@ from gibson.lang.Python import Python
|
|
4
4
|
|
5
5
|
class Env:
|
6
6
|
def verify(self, configuration: Configuration):
|
7
|
+
if configuration.project is None:
|
8
|
+
return self
|
9
|
+
|
7
10
|
if configuration.project.code.language == "python":
|
8
11
|
Python().make_import_path(configuration.project.dev.base.path)
|
9
12
|
else:
|
gibson/core/Memory.py
CHANGED
@@ -21,9 +21,10 @@ class Memory:
|
|
21
21
|
return self
|
22
22
|
|
23
23
|
def bootstrap(self):
|
24
|
-
self.
|
25
|
-
|
26
|
-
|
24
|
+
if self.configuration.project is not None:
|
25
|
+
self.__make_memory_dir()
|
26
|
+
self.entities = self.recall_entities()
|
27
|
+
self.last = self.recall_last()
|
27
28
|
|
28
29
|
def __forget(self, file):
|
29
30
|
try:
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import json
|
2
|
+
import os
|
3
|
+
|
4
|
+
|
5
|
+
class PythonPath:
|
6
|
+
def __init__(self):
|
7
|
+
self.user_home = os.environ.get("HOME")
|
8
|
+
self.gibson_config = ".gibsonai"
|
9
|
+
self.file_name = "python_path"
|
10
|
+
|
11
|
+
def install(self):
|
12
|
+
python_path_location = f"$HOME/{self.gibson_config}/{self.file_name}"
|
13
|
+
installation = f"""\n[ -s "{python_path_location}" ] && \\. "{python_path_location}" # Setup pythonpath for gibson projects\n"""
|
14
|
+
|
15
|
+
for file in [f"{self.user_home}/.bashrc", f"{self.user_home}/.zshrc"]:
|
16
|
+
with open(file, "a+") as f:
|
17
|
+
f.seek(0)
|
18
|
+
if python_path_location not in f.read():
|
19
|
+
f.write(installation)
|
20
|
+
|
21
|
+
return self
|
22
|
+
|
23
|
+
def write(self):
|
24
|
+
try:
|
25
|
+
with open(f"{self.user_home}/{self.gibson_config}/config", "r") as f:
|
26
|
+
config = json.loads(f.read())
|
27
|
+
except:
|
28
|
+
return self
|
29
|
+
|
30
|
+
project_paths = filter(
|
31
|
+
lambda x: x is not None,
|
32
|
+
[
|
33
|
+
config.get(project).get("dev", {}).get("base", {}).get("path")
|
34
|
+
for project in config
|
35
|
+
],
|
36
|
+
)
|
37
|
+
|
38
|
+
if not project_paths:
|
39
|
+
return self
|
40
|
+
|
41
|
+
try:
|
42
|
+
os.mkdir(f"{self.user_home}/{self.gibson_config}")
|
43
|
+
except FileExistsError:
|
44
|
+
pass
|
45
|
+
|
46
|
+
contents = "\n".join(
|
47
|
+
f"export PYTHONPATH=$PYTHONPATH:{path}" for path in project_paths
|
48
|
+
)
|
49
|
+
with open(f"{self.user_home}/{self.gibson_config}/{self.file_name}", "w") as f:
|
50
|
+
f.write(contents)
|
51
|
+
|
52
|
+
return self
|
gibson/services/auth/Server.py
CHANGED
@@ -20,7 +20,7 @@ class Handler(BaseHTTPRequestHandler):
|
|
20
20
|
self.server.refresh_token = refresh_token
|
21
21
|
|
22
22
|
self.send_response(302)
|
23
|
-
self.send_header("Location", f"{self.server.app_domain}/
|
23
|
+
self.send_header("Location", f"{self.server.app_domain}/signup/cli/success")
|
24
24
|
self.end_headers()
|
25
25
|
self.server._stop()
|
26
26
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: gibson-cli
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.5.0
|
4
4
|
Summary: Gibson Command Line Interface
|
5
5
|
Author-email: GibsonAI <noc@gibsonai.com>
|
6
6
|
Project-URL: Homepage, https://gibsonai.com/
|
@@ -30,10 +30,12 @@ Gibson currently works on projects that use Python 3.9 or greater, MySQL, SQLAlc
|
|
30
30
|
|
31
31
|
Portions of the Gibson backend code are written by Gibson. So far, versus a human developer, it has coded 66% of the software and did so in seconds. To get started, read the instructions here.
|
32
32
|
|
33
|
-
## Installation
|
33
|
+
## Installation / Upgrading
|
34
|
+
|
35
|
+
Install the latest version of the CLI using pip.
|
34
36
|
|
35
37
|
```sh
|
36
|
-
pip3 install gibson-cli
|
38
|
+
pip3 install gibson-cli --upgrade
|
37
39
|
```
|
38
40
|
|
39
41
|
## Key Terms
|
@@ -93,7 +95,7 @@ Run `gibson auth login` to login to Gibson with your Google account.
|
|
93
95
|
|
94
96
|
While in beta, you have to acquire an API manually:
|
95
97
|
|
96
|
-
- Go to <https://
|
98
|
+
- Go to <https://app.gibsonai.com/>.
|
97
99
|
- Chat with Gibson and create a new project.
|
98
100
|
- When your project is complete Gibson will email you the API key.
|
99
101
|
- gibson conf api::key [API key]
|
@@ -256,7 +258,7 @@ For example, you might provide class name = `MyBaseModel` and import path = `pro
|
|
256
258
|
|
257
259
|
### Building a Project End-to-End Using AI
|
258
260
|
|
259
|
-
- Go to <https://
|
261
|
+
- Go to <https://app.gibsonai.com/>.
|
260
262
|
- Chat with Gibson and create a new project.
|
261
263
|
- When your project is complete Gibson will email you the API key.
|
262
264
|
- `gibson conf api::key [API key]`
|
@@ -1,39 +1,40 @@
|
|
1
1
|
bin/build.sh,sha256=H3TAd349BECbcK3_t_jW9VzoLInMNrXtaLnXMEVanew,49
|
2
2
|
bin/release.sh,sha256=LxPqH5kxhLKvzHaPRLBlq_ApaK7FHEteH4SzeRenidk,49
|
3
3
|
gibson/api/BaseApi.py,sha256=l_EsHdKRz-cXGXd3Ju5IFwmCRUkunba6ckB957S9DAk,2696
|
4
|
-
gibson/api/Cli.py,sha256=
|
4
|
+
gibson/api/Cli.py,sha256=ZUB8679s2L1TDQVLrgjxNCT-W8rwnHH7BMD0WEyf6Xs,7815
|
5
5
|
gibson/bin/gibson.py,sha256=N1mAWaww9pw8s5u0et87FC5cFHVU6JzN4Kls3lDn-xw,354
|
6
6
|
gibson/command/BaseCommand.py,sha256=mmWUO0FxjMCbv3cHWnnasfAWnU_hTuGHUsRVJ4hUcqM,777
|
7
|
-
gibson/command/Build.py,sha256=
|
8
|
-
gibson/command/Code.py,sha256=
|
9
|
-
gibson/command/Conf.py,sha256=
|
10
|
-
gibson/command/Count.py,sha256=
|
11
|
-
gibson/command/Dev.py,sha256=
|
12
|
-
gibson/command/Forget.py,sha256=
|
13
|
-
gibson/command/
|
14
|
-
gibson/command/
|
15
|
-
gibson/command/
|
16
|
-
gibson/command/
|
17
|
-
gibson/command/
|
18
|
-
gibson/command/
|
19
|
-
gibson/command/
|
20
|
-
gibson/command/
|
21
|
-
gibson/command/
|
22
|
-
gibson/command/
|
23
|
-
gibson/command/
|
24
|
-
gibson/command/
|
25
|
-
gibson/command/
|
26
|
-
gibson/command/
|
27
|
-
gibson/command/
|
7
|
+
gibson/command/Build.py,sha256=eypLUpZb3bw9LJ3s4uANZNbMNhshj90g94iQTreY74w,2851
|
8
|
+
gibson/command/Code.py,sha256=Tb-eVAODHAbTqQldC2vR30YhrQvM2CtsiXt34RUoS3I,6913
|
9
|
+
gibson/command/Conf.py,sha256=z7G-81GpPUGZxjuE0HJn3ltHBIScqy4-rzinLYCyiLA,2467
|
10
|
+
gibson/command/Count.py,sha256=FInot7Wz-lClKM1gfKgZXwBVIsTR0Gde0cMjYrCitog,1086
|
11
|
+
gibson/command/Dev.py,sha256=KXaWeAMGifrxb4uyBJ5W0v9XIYeG8_C1Dw8TiAeOlHE,4358
|
12
|
+
gibson/command/Forget.py,sha256=2-XpPqzjqhdGvilMitZECVBegDzlV12kDiR0xrxEVyY,1064
|
13
|
+
gibson/command/Help.py,sha256=vxPRL50uBpPSmut_5M_2bQyZUhkGjfIcV-XLjPKKV0s,4873
|
14
|
+
gibson/command/Import.py,sha256=4VeDtQNWf20j2tSvAMjU9r-gB05fD3hh6Mfxdp5B_oI,4174
|
15
|
+
gibson/command/List.py,sha256=XNL0p3WvGCjuWeFD_24VO5d2sflXfkk_CvAbXrcOMYI,2318
|
16
|
+
gibson/command/Merge.py,sha256=AKhyImy_MH8sy7m9Anh1SKBINvLrRmt91fFE4oVPg7k,1060
|
17
|
+
gibson/command/Model.py,sha256=rare94DN7Cij4IizBscwl6TBQvQy_RkVt8SgnUBZW1I,1278
|
18
|
+
gibson/command/Modify.py,sha256=jYx8ojVoecPAX_YasvpGGqq2d0dl2FfCB3WAlSxtdtM,1269
|
19
|
+
gibson/command/Module.py,sha256=m2vEbYsZgb9H5jUsDcle4amoclvSMy1u75EVrARTy4I,1247
|
20
|
+
gibson/command/New.py,sha256=YEnH9zVXGvSL5xb07EIimRWduBRYKpuBclZJyuT6T64,1179
|
21
|
+
gibson/command/OpenApi.py,sha256=mdjgzDgJTu8aMuI1bojExEAstCQuFzhFCnutNSm9z14,4313
|
22
|
+
gibson/command/Question.py,sha256=KHFDLI3ItIFg3Qeeamy_zaXSZQyFBXdl3LEr4iq8FOg,3986
|
23
|
+
gibson/command/Remove.py,sha256=i-ofK_uQfkgrP63vYaBxDTIhzs_-4p0FFaqd3f4fJvo,2435
|
24
|
+
gibson/command/Rename.py,sha256=VUp8vrj3ugOG9i6CgXw8putbZAUsSw6iC8J1FBB05nQ,2245
|
25
|
+
gibson/command/Schema.py,sha256=NAOp6RY4apSArPE7ZljT150AIQjpm88C6N_SRIophWo,1291
|
26
|
+
gibson/command/Show.py,sha256=lGwguywp1lk4-E1T8iMFQR39mqir2rUqNXZES7H4WO4,1405
|
27
|
+
gibson/command/Test.py,sha256=O0Ro3o_SAtNf0y7VwrVS7b2hrJ_sA-UepOxnfp8MEN4,1285
|
28
|
+
gibson/command/Tree.py,sha256=pqVbebySThqJ-29izerScwaIb4XE40K3cYNA8bUpNkE,3055
|
28
29
|
gibson/command/Version.py,sha256=LA162K8oPDJAwPEja6ppoHVU8tr7shA1gzkcWxV4XVs,1282
|
29
30
|
gibson/command/WarGames.py,sha256=V0KIpz-Z546qtQaOPdIVHQ6wp2n3r3M3tgKx-GRQzzU,1300
|
30
|
-
gibson/command/auth/Auth.py,sha256=
|
31
|
+
gibson/command/auth/Auth.py,sha256=JScajZ__oSo24jzFa5NccCgc4yKgxn0BI0dXPWE5bA4,1000
|
31
32
|
gibson/command/auth/Login.py,sha256=b43OfV76i6aGdOwj1NK64ZOdYlNyc08g3lZGQ_37KDw,437
|
32
33
|
gibson/command/auth/Logout.py,sha256=V01q4TdbiBqCnIrM6IA4T25fO6ws0UpXp42I3pwHZVM,248
|
33
34
|
gibson/command/rewrite/Api.py,sha256=sSvAqEJXdgQjYcu0uiM6ndHE3GnfkfVL6eqP2Otkbww,1002
|
34
35
|
gibson/command/rewrite/Base.py,sha256=YJ2a5Hl0f9NXHUBBPvlt-dUIqEPWQz5vH6-1EHmbFbA,640
|
35
36
|
gibson/command/rewrite/Models.py,sha256=eoUpZHpR0qwNgX60EWfcNz49GHmBw_FGfBuHH2ueZqY,799
|
36
|
-
gibson/command/rewrite/Rewrite.py,sha256=
|
37
|
+
gibson/command/rewrite/Rewrite.py,sha256=jaoaruSCsOazZmDAytv9GD2YBrnBSonWO4jOd9C1B10,4666
|
37
38
|
gibson/command/rewrite/Schemas.py,sha256=zZ1gjmOJg77gh70t5y2WkzHWSAvEKx5-gqRN9OcsCXA,802
|
38
39
|
gibson/command/rewrite/Tests.py,sha256=HO1WM6pSToVKsuJn7nUA_I5qrfBN0cgKgBzjlm2Qxt8,799
|
39
40
|
gibson/command/tests/test_command_BaseCommand.py,sha256=hSbBfLFI3RTp_DdEHtm5oOLWoN6drI6ucFJypi7xxV8,364
|
@@ -46,7 +47,7 @@ gibson/conf/Dependencies.py,sha256=DZxyFtDR_3QpmsZbHApJFSeA7uYrMX1Bdx4lZKJ49Uo,8
|
|
46
47
|
gibson/conf/Dev.py,sha256=nMjKmRrJbNIsMqQRFo8f68Lx-hSU-lihvLvhj0Safzg,344
|
47
48
|
gibson/conf/Frameworks.py,sha256=Dv5iqeVe0JmNCKX5a-6S_dCrx7WZyI3qkTAFX6JWfDU,173
|
48
49
|
gibson/conf/Modeler.py,sha256=RayW3VFD_2nCFXZepfEcCXTUX2tWd7WtOjHULNVCai8,67
|
49
|
-
gibson/conf/Paths.py,sha256=
|
50
|
+
gibson/conf/Paths.py,sha256=FB8_w-8oCnzuqGIMVUahvZfl0p8i_ERnVzVPjuXTk3Y,243
|
50
51
|
gibson/conf/Platform.py,sha256=ai7bLab2Ak_zWiANJH78Pj3YjTlTCQ1EEtkFaVDijOc,307
|
51
52
|
gibson/conf/Project.py,sha256=2lc_rr7giu1aGA4Ue4sU3Ey8-_yB2orLM1cw8f9zcdo,440
|
52
53
|
gibson/conf/Version.py,sha256=a1VNbiIj5E7m-PmH_pWBVFNf8Iu8zACSJ_qPNdtI9b0,89
|
@@ -56,13 +57,14 @@ gibson/conf/dev/Model.py,sha256=HbHRX3VDxR7hXlzuxkKw4Bf7FH6XMfQ96k9BeIUoBf4,73
|
|
56
57
|
gibson/conf/dev/Schema.py,sha256=kOSlX1jEyVb82xd8TO8jEAimLcaefIFJr6d2JYvyTqg,74
|
57
58
|
gibson/conf/tests/test_conf_Dependencies.py,sha256=LITeeYiqXM5rKkyWFBqcnMvUR5pzDRuHVAngH372jWc,116
|
58
59
|
gibson/conf/tests/test_conf_Platform.py,sha256=Zc53IsZmV-hT9VRrZEPNrsuehSdWnJXWKGMmOhEqWHo,138
|
59
|
-
gibson/core/Colors.py,sha256=
|
60
|
-
gibson/core/CommandRouter.py,sha256=
|
61
|
-
gibson/core/Completions.py,sha256=
|
62
|
-
gibson/core/Configuration.py,sha256=
|
63
|
-
gibson/core/Conversation.py,sha256=
|
64
|
-
gibson/core/Env.py,sha256=
|
65
|
-
gibson/core/Memory.py,sha256=
|
60
|
+
gibson/core/Colors.py,sha256=5XJdm9n5Sa75Hv0BYVaGVhnzsgpwfbB2pGXcbGh5EjU,1539
|
61
|
+
gibson/core/CommandRouter.py,sha256=bbdJLJZazQnSZVdi1MDkGrllfMfAz3-dWtdwpscltr8,4123
|
62
|
+
gibson/core/Completions.py,sha256=Bsh25vnf0pjpJA6MJNR_2MA2s58Ujj8XolR8fm8AQ_s,1197
|
63
|
+
gibson/core/Configuration.py,sha256=rJq6XFS-vV8elACYmbFdnzzW4PsQb1BjyWuajfx46KQ,15787
|
64
|
+
gibson/core/Conversation.py,sha256=cZTlP_VAv9OfBAxACCmGHuOfobCKKlWMplXrpc4-aGs,8694
|
65
|
+
gibson/core/Env.py,sha256=08dZRHzzR0ahrbM4S0bXC7V1xhYQkT8Zefs00qUHf0U,498
|
66
|
+
gibson/core/Memory.py,sha256=Yw6xmqtAsFwd5Q4VgmGDt4U2dUGLyFXZ_nO8c74Oo8E,4005
|
67
|
+
gibson/core/PythonPath.py,sha256=p1q7n_5KnPvA8XbxJyvqC2vrIdEdTiMr6vRU9yj77Cs,1567
|
66
68
|
gibson/core/TimeKeeper.py,sha256=0mzs04wizjGEJbiQFWZyi4ja4XgeJaDqc0JzPCHp9po,250
|
67
69
|
gibson/core/utils.py,sha256=KTnPvA3sUYnLFTZG7Tke5YEdls8Da0rNbeaOm8hapiU,408
|
68
70
|
gibson/data/bash-completion.tmpl,sha256=8XYbLMjyKlbaY4RVutxDqcwNLh5HNjTVDmZ3_Eci2xU,2726
|
@@ -79,7 +81,7 @@ gibson/display/tests/test_display_WorkspaceFooter.py,sha256=96syJutXZWbGOLiAS5Sk
|
|
79
81
|
gibson/display/tests/test_display_WorkspaceHeader.py,sha256=9FuNLOkCAyFSDaonZbLQhLJSizc7bI2HAz3z1ifJlYs,316
|
80
82
|
gibson/lang/Python.py,sha256=WNbCTFhDh9qXVbeySyfaP-6m-c0wllSCZw8A-r_Z0Oo,1764
|
81
83
|
gibson/lang/tests/test_lang_Python.py,sha256=YpdqYOGAssg-jP9GuzfoU4Y4L7Boj0vAUAJgjuZvedo,1862
|
82
|
-
gibson/services/auth/Server.py,sha256=
|
84
|
+
gibson/services/auth/Server.py,sha256=DfemWNZlZ3rDE6PsAAvDP0anK7czwhiadX6Wilo4agY,1936
|
83
85
|
gibson/services/code/context/schema/DataDictionary.py,sha256=zWLzxOzW8iMHxfXPEwnnbruEAtFa8j1UpghNd4AHzfA,369
|
84
86
|
gibson/services/code/context/schema/EntityKeys.py,sha256=rmCABPloMckvzfq9Gwx6DRP-RdmEwXarkpMR4boIQwQ,1569
|
85
87
|
gibson/services/code/context/schema/Manager.py,sha256=I_xcPrcE2nFJmBEXcIoJQ9lxKfWNQYHOEZNP0i9aYuY,906
|
@@ -87,7 +89,7 @@ gibson/services/code/context/schema/tests/test_code_context_schema_DataDictionar
|
|
87
89
|
gibson/services/code/context/schema/tests/test_code_context_schema_EntityKeys.py,sha256=i--xVPHNw7Ks8kkuv9GmSbpp0BuMMKTGtPBY1HwT-60,2114
|
88
90
|
gibson/services/code/context/schema/tests/test_code_context_schema_Manager.py,sha256=FiQFpFmJjv9g46QjmBjGVF3yz1GF0Q42j0fvZm5ZOYw,1230
|
89
91
|
gibson/services/code/customization/Authenticator.py,sha256=3VvxZsxelPPhxapHnsYhfMaFgdQ523dai9wxCNMa9Eg,372
|
90
|
-
gibson/services/code/customization/BaseCustomization.py,sha256=
|
92
|
+
gibson/services/code/customization/BaseCustomization.py,sha256=toCGRMF8VUXNIwScpAiiRqq4RT2rQCzYkbyypdfAAl4,1187
|
91
93
|
gibson/services/code/customization/CustomizationManager.py,sha256=M2gz98Yo2WTnnhs1lx_ma63aK1hTfbU6C9RbItaYeDY,705
|
92
94
|
gibson/services/code/customization/Index.py,sha256=4Thf0gZM6VErZJS97w748PRNmHi8QvsyblOLCw1Y_XE,364
|
93
95
|
gibson/services/code/customization/tests/test_code_customization_Authenticator.py,sha256=kKExkLfKPpRA2NQH3fvRCuBEMhCGhR-IvNJqXuyBz3c,1949
|
@@ -105,8 +107,8 @@ gibson/structure/tests/test_Entity.py,sha256=Gl9f1NcEKdpWCx4W3takFFzp18mLhCYWKrd
|
|
105
107
|
gibson/tests/test_Env.py,sha256=DPWmP0-aEelducq9bAwv7rKoY2NjWXUeCrzfJDQkn2M,369
|
106
108
|
gibson/tests/test_Memory.py,sha256=YP7owToABAk_-s7fD5UG0HTc4lamDjdA39JUlLnk3Fg,2574
|
107
109
|
gibson/tests/test_utils.py,sha256=r_y-EG05YTCNtL8MWiAK1KmPsmeoMgypKsQC_lVgOtM,559
|
108
|
-
gibson_cli-0.
|
109
|
-
gibson_cli-0.
|
110
|
-
gibson_cli-0.
|
111
|
-
gibson_cli-0.
|
112
|
-
gibson_cli-0.
|
110
|
+
gibson_cli-0.5.0.dist-info/METADATA,sha256=595lPBY_q33rkxwcNPM8--RHfcadaEbSciZjG35QQO4,11569
|
111
|
+
gibson_cli-0.5.0.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
|
112
|
+
gibson_cli-0.5.0.dist-info/entry_points.txt,sha256=j5VUvq3AzL21xPvVC24zMoXFt-I5lUWulr66nL3OAPM,50
|
113
|
+
gibson_cli-0.5.0.dist-info/top_level.txt,sha256=RFaUY7VXGiqkMwo1Rj7pM4kGvxkhhnfo-2LmPpuL_fs,11
|
114
|
+
gibson_cli-0.5.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|