Metadata-Version: 2.1
Name: infisical
Version: 1.0.1
Summary: Official Infisical SDK for Python
Project-URL: Documentation, https://github.com/Infisical/infisical-python#readme
Project-URL: Issues, https://github.com/Infisical/infisical-python/issues
Project-URL: Source, https://github.com/Infisical/infisical-python
Maintainer-email: Yohann MARTIN <contact@codexus.fr>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.7
Requires-Dist: pycryptodomex<4.0.0,>=3.17
Requires-Dist: pydantic!=1.7,!=1.7.1,!=1.7.2,!=1.7.3,!=1.8,!=1.8.1,<2.0.0,>=1.6.2
Requires-Dist: pynacl<2.0.0,>=1.5.0
Requires-Dist: requests==2.28.2
Provides-Extra: dev
Requires-Dist: black==23.3.0; extra == 'dev'
Requires-Dist: devtools[pygments]==0.11.0; extra == 'dev'
Requires-Dist: isort<6.0.0,>=5.0.6; extra == 'dev'
Requires-Dist: mypy==1.1.1; extra == 'dev'
Requires-Dist: ruff==0.0.261; extra == 'dev'
Requires-Dist: types-requests==2.28.11.17; extra == 'dev'
Provides-Extra: test
Requires-Dist: coverage[toml]<8.0,>=6.5.0; extra == 'test'
Requires-Dist: pytest<8.0.0,>=7.1.3; extra == 'test'
Requires-Dist: responses==0.23.1; extra == 'test'
Description-Content-Type: text/markdown

<h1 align="center">
    <a href="https://github.com/Infisical/infisical">
        <img width="300" src="https://raw.githubusercontent.com/Infisical/infisical-node/main/img/logoname-white.svg#gh-dark-mode-only" alt="infisical">
    </a>
</h1>
<p align="center">
  <p align="center">Open-source, end-to-end encrypted tool to manage secrets and configs across your team, devices, and infrastructure.</p>
</p>


<p align="center">
<a href="https://github.com/Astropilot/infisical-python/actions?query=workflow%3ATest+event%3Apush+branch%3Amain" target="_blank">
    <img src="https://github.com/Astropilot/infisical-python/workflows/Test/badge.svg?event=push&branch=main" alt="Test">
</a>
<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/Astropilot/infisical-python" target="_blank">
    <img src="https://coverage-badge.samuelcolvin.workers.dev/Astropilot/infisical-python.svg" alt="Coverage">
</a>
<a href="https://pypi.org/project/infisical" target="_blank">
    <img src="https://img.shields.io/pypi/v/infisical?color=%2334D058&label=pypi%20package" alt="Package version">
</a>
<a href="https://pypi.org/project/infisical" target="_blank">
    <img src="https://img.shields.io/pypi/pyversions/infisical.svg?color=%2334D058" alt="Supported Python versions">
</a>
<a href="https://github.com/Astropilot/infisical-python/blob/master/LICENSE">
    <img src="https://img.shields.io/github/license/Astropilot/infisical-python" alt="MIT License">
</a>
</p>

## Links

- [SDK docs](https://infisical.com/docs/sdks/languages/python)

## Installation

You need Python 3.7+.

```console
$ pip install infisical
```

## Initialization

If your app only needs to connect to one Infisical project, you should use `infisical.connect`. If you need to connect to multiple Infisical projects, use `infisical.createConnection`.

Both `connect` and `createConnection` take a parameter `token` and pull in the secrets accessible by that Infisical token.

```py
import infisical

infisical.connect("your_infisical_token")
```

### Options

- `token`: The service token from which to retrieve secrets
- `site_url`: Your self-hosted Infisical site URL. Default: `https://app.infisical.com`.
- `attach_to_process_env`: Whether or not to attach fetched secrets to `os.environ`. Default: `false`.
- `debug`: Turns debug mode on or off. If debug mode is enabled then the SDK will attempt to print out useful debugging information. Default: `false`.

## Access a Secret Value

```py
db_url = infisical.get("DB_URL")
```

## Contributing

See [Contributing documentation](./.github/CONTRIBUTING.md)

## License

`infisical-python` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
