ericai-local-models 0.0.1__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.
- ericai_local_models/__init__.py +5 -0
- ericai_local_models-0.0.1.dist-info/METADATA +52 -0
- ericai_local_models-0.0.1.dist-info/RECORD +8 -0
- ericai_local_models-0.0.1.dist-info/WHEEL +5 -0
- ericai_local_models-0.0.1.dist-info/entry_points.txt +2 -0
- ericai_local_models-0.0.1.dist-info/licenses/LICENSE +2 -0
- ericai_local_models-0.0.1.dist-info/top_level.txt +2 -0
- ericai_local_models_installation_guard.py +30 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ericai-local-models
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: EricAI local-models installation guard: the Ericsson provider is distributed internally
|
|
5
|
+
Author: Ericsson
|
|
6
|
+
License-Expression: LicenseRef-Proprietary
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Operating System :: OS Independent
|
|
9
|
+
Requires-Python: >=3.9
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Provides-Extra: mlx
|
|
13
|
+
Dynamic: license-file
|
|
14
|
+
|
|
15
|
+
# EricAI local-models installation guard
|
|
16
|
+
|
|
17
|
+
**The Ericsson `ericai-local-models` provider is distributed through Ericsson's
|
|
18
|
+
authenticated internal Python package repository.**
|
|
19
|
+
|
|
20
|
+
This public distribution provides installation guidance for people who
|
|
21
|
+
accidentally resolve `ericai-local-models` from public PyPI. Its purpose is to
|
|
22
|
+
reduce the risk of dependency-confusion attacks against that distribution name.
|
|
23
|
+
|
|
24
|
+
## Behavior
|
|
25
|
+
|
|
26
|
+
- Importing `ericai_local_models` or its submodules raises `ImportError` with
|
|
27
|
+
instructions for obtaining the internal provider.
|
|
28
|
+
- `ericai-local-models-guard` and
|
|
29
|
+
`python -m ericai_local_models_installation_guard` print those instructions
|
|
30
|
+
and exit with status 1.
|
|
31
|
+
- Installation succeeds, including with the `mlx` extra. The guard has no runtime
|
|
32
|
+
dependencies and the extra installs no model runtime.
|
|
33
|
+
|
|
34
|
+
The guard makes no network requests, reads no credentials, and does not download
|
|
35
|
+
or run models. It registers no EricAI provider and installs no `ericai` package
|
|
36
|
+
or `ericai` CLI command. It can coexist with the base EricAI installation guard.
|
|
37
|
+
|
|
38
|
+
## Getting the provider
|
|
39
|
+
|
|
40
|
+
Ericsson users should follow the internal EricAI installation guide to configure
|
|
41
|
+
the approved package indexes and authenticate to the package repository. After
|
|
42
|
+
correcting the indexes, reinstall `ericai-local-models` using
|
|
43
|
+
`uv pip install --reinstall` with the index options from that guide. To install
|
|
44
|
+
the full internal client with its provider, use `ericai[local_models]` with those
|
|
45
|
+
same approved indexes.
|
|
46
|
+
|
|
47
|
+
## Security scope
|
|
48
|
+
|
|
49
|
+
PyPI normalizes `ericai-local-models` and `ericai_local_models` to the same
|
|
50
|
+
distribution name. This guard does not protect other names, misspellings, or a
|
|
51
|
+
compromised publisher account. A low public version does not replace correct
|
|
52
|
+
package-index configuration.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
ericai_local_models_installation_guard.py,sha256=08sNtv3VCgkyKcm2HcPeYYxsReGwwJWC0Y3p9kKwnf0,1163
|
|
2
|
+
ericai_local_models/__init__.py,sha256=mw6Afw-f5Hto_JJ9-_XfPnGVOl2QQdft7abVANRVgMQ,166
|
|
3
|
+
ericai_local_models-0.0.1.dist-info/licenses/LICENSE,sha256=6VQ4H769cH58AwJCHCyg9df-oYZHdZ5sDpZbY5EpZoI,52
|
|
4
|
+
ericai_local_models-0.0.1.dist-info/METADATA,sha256=QDgsnCmOwYJe39OcCodrwgmI16Aa1-dDgLxWT6INGZ4,2225
|
|
5
|
+
ericai_local_models-0.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
6
|
+
ericai_local_models-0.0.1.dist-info/entry_points.txt,sha256=CLR84ocgd1meYe5spFkny1CswrkZp_k1mwY88qnIt64,90
|
|
7
|
+
ericai_local_models-0.0.1.dist-info/top_level.txt,sha256=IAHvukjllpy0rKDgHUx84OWNTl_IO7l4nsY-f39e7Cg,59
|
|
8
|
+
ericai_local_models-0.0.1.dist-info/RECORD,,
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Public installation guidance; no client, provider, or model runtime."""
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
MESSAGE = """You installed the public EricAI local-models installation guard.
|
|
6
|
+
|
|
7
|
+
The Ericsson ericai-local-models provider is distributed through Ericsson's
|
|
8
|
+
authenticated internal Python package repository. This public package provides
|
|
9
|
+
installation guidance to help prevent dependency-confusion attacks; it cannot
|
|
10
|
+
load, download, or run models.
|
|
11
|
+
|
|
12
|
+
Ericsson users: follow the internal EricAI installation guide to configure
|
|
13
|
+
the approved package indexes and authenticate to the package repository.
|
|
14
|
+
Then reinstall ericai-local-models from the internal repository using
|
|
15
|
+
uv pip install --reinstall with the index options from that guide.
|
|
16
|
+
For the full client and provider, use ericai[local_models] from those indexes.
|
|
17
|
+
|
|
18
|
+
This guard makes no network requests, reads no credentials, registers no
|
|
19
|
+
local-models provider, and does not install the internal packages automatically.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def main() -> int:
|
|
24
|
+
"""Explain the incorrect installation and return an unsuccessful status."""
|
|
25
|
+
print(MESSAGE, file=sys.stderr)
|
|
26
|
+
return 1
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
if __name__ == "__main__":
|
|
30
|
+
raise SystemExit(main())
|