Courlan

Latest version: v1.3.2

Safety actively analyzes 714860 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

0.9.5

- IRI to URI normalization: encode path, query and fragments (58, 60)
- normalization: strip common trackers (65)
- new function `is_valid_url()` (63)
- hardening of domain filter (64)

0.9.4

- new UrlStore functions: `add_from_html()` (42), `discard()` (44), `get_unvisited_domains`
- CLI: removed `--samplesize`, use `--sample` with an integer instead (54)
- added plausibility filter for domains/hosts (48)
- speedups and more efficient processing (47, 49, 50)
- fixed handling of relative URLs with feltcat in 46
- fixed bugs and ensured compatibility (41, 43, 51, 56)
- official support for Python 3.12

0.9.3

- more efficient URL parsing (33)
- refined link extraction and link filters (30, 36)
- more efficient normalization (32)
- more efficient sampling strategy (31, 35)
- added meta function to clear LRU caches (34)
- added parallel option in command-line interface (37, 39)
- added ``get_unvisited_domains()`` method to ``UrlStore`` (40)

0.9.2

- add blogspot archives to type filter
- maintenance: upgrade ``urllib3`` and review code

0.9.1

- network tests: larger throughput
- UrlStore: optional compression of rules (21), added `reset()` (22) and `get_all_counts()` methods
- UrlStore fixes: `signal` in 18, `total_url_number`
- updated Readme

0.9.0

- hardening of filters and URL parses (14)
- normalize punicode to unicode
- methods added to `UrlStore`: `get_crawl_delay()`, `print_unvisited_urls()`
- `UrlStore` now triggers exit code 1 when interrupted
- argument added to `extract_links()`: `no_filter`
- code refactoring: simplifications

Page 2 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.