censys / censys-python

An easy-to-use and lightweight API wrapper for Censys APIs.
https://censys-python.rtfd.io/
Apache License 2.0
403 stars 91 forks source link
api attack-surface-management censys hacktoberfest pypi python python3 search

Censys Python Library

PyPI Python Version Read the Docs (version) GitHub Discussions PRs Welcome License

An easy-to-use and lightweight API wrapper for Censys APIs (censys.io). Python 3.8+ is currently supported. This library has been tested on Python 3.8 and 3.x (Currently version 3.10).

Notice: The Censys Search v1 endpoints are deprecated as of Nov. 30, 2021. Please begin using v2 endpoints to query hosts and certificates and check out our support center for resources.

Features

Getting Started

The library can be installed using pip.

pip install censys

To upgraded using pip.

pip install --upgrade censys

Alternatively, you can install the library using poetry.

git clone https://github.com/censys/censys-python.git
cd censys-python/
poetry install

Optionally, you can enable tab completion for the CLI by adding this line to your ~/.bashrc, ~/.zshrc, or equivalent.

Please note that autocomplete is supported for field names in the search command.

eval "$(register-python-argcomplete censys)"

To configure your search credentials run censys config or set both CENSYS_API_ID and CENSYS_API_SECRET environment variables.

$ censys config

Censys API ID: XXX
Censys API Secret: XXX
Do you want color output? [y/n]: y

Successfully authenticated for your@email.com

If you have a Censys ASM account, you can configure your ASM credentials by running censys asm config or set both CENSYS_ASM_API_KEY environment variables.

$ censys asm config

Censys ASM API Key: XXX
Do you want color output? [y/n]: y

Successfully authenticated

Examples

The examples located in the examples/ directory are a great place to start. You can also find more examples in the usage documentation.

Documentation

Read the Docs

Resources

Contributing

All contributions (no matter how small) are always welcome. See Contributing to Censys Python

Development

This project uses poetry for dependency management. Please ensure you have installed the latest version.

git clone git@github.com:censys/censys-python.git
cd censys-python/
poetry install

Testing

# Run tests
poetry run pytest
# With coverage report
poetry run pytest --cov-report html

License

This software is licensed under Apache License, Version 2.0