Awesome
Censys Python Library
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
- Search Censys data
- Bulk Certificate lookups
- Download Bulk Data
- Manage assets, events, and seeds in Censys ASM
- Command-line interface
<a href="https://asciinema.org/a/500416" target="_blank"><img src="https://asciinema.org/a/500416.svg" width="600"/></a>
<!-- markdownlint-enable MD033 -->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
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
- Copyright (C) 2024 Censys, Inc.