Metadata-Version: 2.4
Name: ericai-local-models
Version: 0.0.1
Summary: EricAI local-models installation guard: the Ericsson provider is distributed internally
Author: Ericsson
License-Expression: LicenseRef-Proprietary
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: mlx
Dynamic: license-file

# EricAI local-models installation guard

**The Ericsson `ericai-local-models` provider is distributed through Ericsson's
authenticated internal Python package repository.**

This public distribution provides installation guidance for people who
accidentally resolve `ericai-local-models` from public PyPI. Its purpose is to
reduce the risk of dependency-confusion attacks against that distribution name.

## Behavior

- Importing `ericai_local_models` or its submodules raises `ImportError` with
  instructions for obtaining the internal provider.
- `ericai-local-models-guard` and
  `python -m ericai_local_models_installation_guard` print those instructions
  and exit with status 1.
- Installation succeeds, including with the `mlx` extra. The guard has no runtime
  dependencies and the extra installs no model runtime.

The guard makes no network requests, reads no credentials, and does not download
or run models. It registers no EricAI provider and installs no `ericai` package
or `ericai` CLI command. It can coexist with the base EricAI installation guard.

## Getting the provider

Ericsson users should follow the internal EricAI installation guide to configure
the approved package indexes and authenticate to the package repository. After
correcting the indexes, reinstall `ericai-local-models` using
`uv pip install --reinstall` with the index options from that guide. To install
the full internal client with its provider, use `ericai[local_models]` with those
same approved indexes.

## Security scope

PyPI normalizes `ericai-local-models` and `ericai_local_models` to the same
distribution name. This guard does not protect other names, misspellings, or a
compromised publisher account. A low public version does not replace correct
package-index configuration.
