envloop-cli 0.2.0__tar.gz → 0.2.1__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 (25) hide show
  1. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/PKG-INFO +4 -7
  2. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/README.pypi.md +2 -4
  3. envloop_cli-0.2.1/envloop/training/__init__.py +120 -0
  4. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/pyproject.toml +2 -5
  5. envloop_cli-0.2.0/envloop/training/__init__.py +0 -128
  6. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/.gitignore +0 -0
  7. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/__init__.py +0 -0
  8. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/agent_runs.py +0 -0
  9. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/auth_cli.py +0 -0
  10. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/auth_login.py +0 -0
  11. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/auth_workspace.py +0 -0
  12. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/cli.py +0 -0
  13. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/cli_output.py +0 -0
  14. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/client.py +0 -0
  15. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/config.py +0 -0
  16. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/http.py +0 -0
  17. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/lifecycle_cli.py +0 -0
  18. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/navigation_resources.py +0 -0
  19. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/resource_cli.py +0 -0
  20. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/resources.py +0 -0
  21. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/train.py +0 -0
  22. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/training/credentials.py +0 -0
  23. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/training/service_client.py +0 -0
  24. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/utils/__init__.py +0 -0
  25. {envloop_cli-0.2.0 → envloop_cli-0.2.1}/envloop/utils/logging.py +0 -0
@@ -1,13 +1,12 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: envloop-cli
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: EnvLoop CLI and Python SDK for jobs, training, checkpoints and inference
5
5
  Project-URL: Homepage, https://envloop.ai
6
6
  Project-URL: Documentation, https://docs.envloop.ai
7
7
  Project-URL: Agent instructions, https://docs.envloop.ai/skill.md
8
8
  Requires-Python: >=3.11
9
- Provides-Extra: train
10
- Requires-Dist: tinker==0.30.2; extra == 'train'
9
+ Requires-Dist: tinker==0.30.2
11
10
  Description-Content-Type: text/markdown
12
11
 
13
12
  # EnvLoop CLI and Python SDK
@@ -25,15 +24,13 @@ python -m pip install envloop-cli
25
24
  el --help
26
25
  ```
27
26
 
28
- For Python training workflows, install the optional training dependency:
27
+ The standard installation includes training support:
29
28
 
30
29
  ```bash
31
- python -m pip install 'envloop-cli[train]'
32
30
  python -c 'from envloop import Client, training; print("EnvLoop SDK ready")'
33
31
  ```
34
32
 
35
- The base client uses Python's standard library. The training extra installs the
36
- training protocol client. You do not need a source checkout, GitHub account,
33
+ The package installs the training protocol client by default. You do not need a source checkout, GitHub account,
37
34
  local execution backend, Docker, or a GPU to install the client.
38
35
 
39
36
  ## Connect
@@ -13,15 +13,13 @@ python -m pip install envloop-cli
13
13
  el --help
14
14
  ```
15
15
 
16
- For Python training workflows, install the optional training dependency:
16
+ The standard installation includes training support:
17
17
 
18
18
  ```bash
19
- python -m pip install 'envloop-cli[train]'
20
19
  python -c 'from envloop import Client, training; print("EnvLoop SDK ready")'
21
20
  ```
22
21
 
23
- The base client uses Python's standard library. The training extra installs the
24
- training protocol client. You do not need a source checkout, GitHub account,
22
+ The package installs the training protocol client by default. You do not need a source checkout, GitHub account,
25
23
  local execution backend, Docker, or a GPU to install the client.
26
24
 
27
25
  ## Connect
@@ -0,0 +1,120 @@
1
+ """Tinker public API with EnvLoop checkpoint paths, included with envloop-cli.
2
+
3
+ Methods, futures, exceptions and authentication retain upstream semantics.
4
+ TrainingRun is the upstream data type, not an EnvLoop lifecycle API.
5
+ """
6
+
7
+ from tinker import (
8
+ AdamOptimizerConfig as AdamOptimizerConfig,
9
+ AdamParams as AdamParams,
10
+ APIConnectionError as APIConnectionError,
11
+ APIError as APIError,
12
+ APIFuture as APIFuture,
13
+ APIResponseValidationError as APIResponseValidationError,
14
+ APIStatusError as APIStatusError,
15
+ APITimeoutError as APITimeoutError,
16
+ AuthenticationError as AuthenticationError,
17
+ BadRequestError as BadRequestError,
18
+ BillingError as BillingError,
19
+ Checkpoint as Checkpoint,
20
+ CheckpointType as CheckpointType,
21
+ ConflictError as ConflictError,
22
+ Datum as Datum,
23
+ DimuonOptimizerConfig as DimuonOptimizerConfig,
24
+ DimuonParams as DimuonParams,
25
+ DmelChunk as DmelChunk,
26
+ EncodedTextChunk as EncodedTextChunk,
27
+ ForwardBackwardOutput as ForwardBackwardOutput,
28
+ InternalServerError as InternalServerError,
29
+ LoraConfig as LoraConfig,
30
+ ModelID as ModelID,
31
+ ModelInput as ModelInput,
32
+ ModelInputChunk as ModelInputChunk,
33
+ NotFoundError as NotFoundError,
34
+ OptimParams as OptimParams,
35
+ OptimStepRequest as OptimStepRequest,
36
+ OptimStepResponse as OptimStepResponse,
37
+ ParsedCheckpointTinkerPath as ParsedCheckpointTinkerPath,
38
+ PermissionDeniedError as PermissionDeniedError,
39
+ PromptProvenanceSpan as PromptProvenanceSpan,
40
+ RateLimitError as RateLimitError,
41
+ RequestFailedError as RequestFailedError,
42
+ RequestOptions as RequestOptions,
43
+ SampledProvenanceSpan as SampledProvenanceSpan,
44
+ SampledSequence as SampledSequence,
45
+ SampleRequest as SampleRequest,
46
+ SampleResponse as SampleResponse,
47
+ SamplingClient as SamplingClient,
48
+ SamplingParams as SamplingParams,
49
+ StopReason as StopReason,
50
+ TensorData as TensorData,
51
+ TensorDtype as TensorDtype,
52
+ Timeout as Timeout,
53
+ TinkerError as TinkerError,
54
+ TrainingClient as TrainingClient,
55
+ TrainingRun as TrainingRun,
56
+ UnprocessableEntityError as UnprocessableEntityError,
57
+ __title__ as __title__,
58
+ __version__ as __version__,
59
+ auth as auth,
60
+ types as types,
61
+ )
62
+
63
+ from .service_client import ServiceClient as ServiceClient
64
+
65
+ __all__ = [
66
+ "TrainingClient",
67
+ "ServiceClient",
68
+ "SamplingClient",
69
+ "APIFuture",
70
+ "auth",
71
+ "AdamOptimizerConfig",
72
+ "AdamParams",
73
+ "DimuonOptimizerConfig",
74
+ "DimuonParams",
75
+ "OptimParams",
76
+ "Checkpoint",
77
+ "CheckpointType",
78
+ "Datum",
79
+ "DmelChunk",
80
+ "EncodedTextChunk",
81
+ "ForwardBackwardOutput",
82
+ "SampledProvenanceSpan",
83
+ "LoraConfig",
84
+ "ModelID",
85
+ "ModelInput",
86
+ "ModelInputChunk",
87
+ "OptimStepRequest",
88
+ "OptimStepResponse",
89
+ "ParsedCheckpointTinkerPath",
90
+ "PromptProvenanceSpan",
91
+ "SampledSequence",
92
+ "SampleRequest",
93
+ "SampleResponse",
94
+ "SamplingParams",
95
+ "StopReason",
96
+ "TensorData",
97
+ "TensorDtype",
98
+ "TrainingRun",
99
+ "Timeout",
100
+ "RequestOptions",
101
+ "TinkerError",
102
+ "APIError",
103
+ "APIStatusError",
104
+ "APITimeoutError",
105
+ "APIConnectionError",
106
+ "APIResponseValidationError",
107
+ "RequestFailedError",
108
+ "BadRequestError",
109
+ "AuthenticationError",
110
+ "BillingError",
111
+ "PermissionDeniedError",
112
+ "NotFoundError",
113
+ "ConflictError",
114
+ "UnprocessableEntityError",
115
+ "RateLimitError",
116
+ "InternalServerError",
117
+ "types",
118
+ "__version__",
119
+ "__title__",
120
+ ]
@@ -1,18 +1,15 @@
1
1
  [project]
2
2
  name = "envloop-cli"
3
- version = "0.2.0"
3
+ version = "0.2.1"
4
4
  description = "EnvLoop CLI and Python SDK for jobs, training, checkpoints and inference"
5
5
  requires-python = ">=3.11"
6
6
  readme = "README.pypi.md"
7
- dependencies = []
7
+ dependencies = ["tinker==0.30.2"]
8
8
 
9
9
  [project.scripts]
10
10
  envloop = "envloop.cli:main"
11
11
  el = "envloop.cli:main"
12
12
 
13
- [project.optional-dependencies]
14
- train = ["tinker==0.30.2"]
15
-
16
13
  [project.urls]
17
14
  Homepage = "https://envloop.ai"
18
15
  Documentation = "https://docs.envloop.ai"
@@ -1,128 +0,0 @@
1
- """Tinker public API with EnvLoop checkpoint paths; install envloop-cli[train].
2
-
3
- Methods, futures, exceptions and authentication retain upstream semantics.
4
- TrainingRun is the upstream data type, not an EnvLoop lifecycle API.
5
- """
6
-
7
- try:
8
- from tinker import (
9
- AdamOptimizerConfig as AdamOptimizerConfig,
10
- AdamParams as AdamParams,
11
- APIConnectionError as APIConnectionError,
12
- APIError as APIError,
13
- APIFuture as APIFuture,
14
- APIResponseValidationError as APIResponseValidationError,
15
- APIStatusError as APIStatusError,
16
- APITimeoutError as APITimeoutError,
17
- AuthenticationError as AuthenticationError,
18
- BadRequestError as BadRequestError,
19
- BillingError as BillingError,
20
- Checkpoint as Checkpoint,
21
- CheckpointType as CheckpointType,
22
- ConflictError as ConflictError,
23
- Datum as Datum,
24
- DimuonOptimizerConfig as DimuonOptimizerConfig,
25
- DimuonParams as DimuonParams,
26
- DmelChunk as DmelChunk,
27
- EncodedTextChunk as EncodedTextChunk,
28
- ForwardBackwardOutput as ForwardBackwardOutput,
29
- InternalServerError as InternalServerError,
30
- LoraConfig as LoraConfig,
31
- ModelID as ModelID,
32
- ModelInput as ModelInput,
33
- ModelInputChunk as ModelInputChunk,
34
- NotFoundError as NotFoundError,
35
- OptimParams as OptimParams,
36
- OptimStepRequest as OptimStepRequest,
37
- OptimStepResponse as OptimStepResponse,
38
- ParsedCheckpointTinkerPath as ParsedCheckpointTinkerPath,
39
- PermissionDeniedError as PermissionDeniedError,
40
- PromptProvenanceSpan as PromptProvenanceSpan,
41
- RateLimitError as RateLimitError,
42
- RequestFailedError as RequestFailedError,
43
- RequestOptions as RequestOptions,
44
- SampledProvenanceSpan as SampledProvenanceSpan,
45
- SampledSequence as SampledSequence,
46
- SampleRequest as SampleRequest,
47
- SampleResponse as SampleResponse,
48
- SamplingClient as SamplingClient,
49
- SamplingParams as SamplingParams,
50
- StopReason as StopReason,
51
- TensorData as TensorData,
52
- TensorDtype as TensorDtype,
53
- Timeout as Timeout,
54
- TinkerError as TinkerError,
55
- TrainingClient as TrainingClient,
56
- TrainingRun as TrainingRun,
57
- UnprocessableEntityError as UnprocessableEntityError,
58
- __title__ as __title__,
59
- __version__ as __version__,
60
- auth as auth,
61
- types as types,
62
- )
63
- except ModuleNotFoundError as exc:
64
- if exc.name != "tinker":
65
- raise
66
- raise ModuleNotFoundError(
67
- 'Training requires the optional dependency: pip install "envloop-cli[train]"',
68
- name="tinker",
69
- ) from exc
70
-
71
- from .service_client import ServiceClient as ServiceClient
72
-
73
- __all__ = [
74
- "TrainingClient",
75
- "ServiceClient",
76
- "SamplingClient",
77
- "APIFuture",
78
- "auth",
79
- "AdamOptimizerConfig",
80
- "AdamParams",
81
- "DimuonOptimizerConfig",
82
- "DimuonParams",
83
- "OptimParams",
84
- "Checkpoint",
85
- "CheckpointType",
86
- "Datum",
87
- "DmelChunk",
88
- "EncodedTextChunk",
89
- "ForwardBackwardOutput",
90
- "SampledProvenanceSpan",
91
- "LoraConfig",
92
- "ModelID",
93
- "ModelInput",
94
- "ModelInputChunk",
95
- "OptimStepRequest",
96
- "OptimStepResponse",
97
- "ParsedCheckpointTinkerPath",
98
- "PromptProvenanceSpan",
99
- "SampledSequence",
100
- "SampleRequest",
101
- "SampleResponse",
102
- "SamplingParams",
103
- "StopReason",
104
- "TensorData",
105
- "TensorDtype",
106
- "TrainingRun",
107
- "Timeout",
108
- "RequestOptions",
109
- "TinkerError",
110
- "APIError",
111
- "APIStatusError",
112
- "APITimeoutError",
113
- "APIConnectionError",
114
- "APIResponseValidationError",
115
- "RequestFailedError",
116
- "BadRequestError",
117
- "AuthenticationError",
118
- "BillingError",
119
- "PermissionDeniedError",
120
- "NotFoundError",
121
- "ConflictError",
122
- "UnprocessableEntityError",
123
- "RateLimitError",
124
- "InternalServerError",
125
- "types",
126
- "__version__",
127
- "__title__",
128
- ]
File without changes
File without changes
File without changes