Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

rookie-cookies

Extract cookies from web browsers Bindings for rookie-cookies

CPython 3.11 or newer is required. Published wheels use the cp311-abi3 stable ABI and are tested on CPython 3.11–3.14.

Usage

from rookie_cookies import chrome
cookies = chrome()
for cookie in cookies:
    print(cookie['domain'], cookie['name'])

Firefox profiles

from rookie_cookies import firefox_profile, firefox_profiles

for profile in firefox_profiles():
    print(profile["name"], profile["path"], profile["is_default"])

cookies = firefox_profile("work", ["example.com"])

Chrome profiles

chrome() keeps its legacy default-first selection. Use the additive APIs to prefer Chrome's advisory active-profile hints while retaining report metadata:

from rookie_cookies import chrome_profile, chrome_profiles

profiles = chrome_profiles()
if profiles:
    report = chrome_profile(profiles[0]["profile"]["profile_id"], ["example.com"])
    print(report["status"])

Missing or malformed hints fall back to the generic order. A selector may also be a display name, directory name, or a full path when descriptor["profile"]["path_lossy"] is false; lossy paths require the profile ID. Ambiguous names raise instead of silently choosing a channel.

Browser registry and reports

from rookie_cookies import browser_profiles, browser_report, supported_browsers

for browser in supported_browsers():
    print(browser["id"], browser["display_name"], browser["engine"])

for profile in browser_profiles("chrome"):
    print(profile["profile"]["profile_id"], profile["profile"]["display_name"])

report = browser_report("chrome", domains=["example.com"])
assert report["schema_version"] == 1
for profile in report["profiles"]:
    for source in profile["sources"]:
        if source["selected"] and source["status"] == "succeeded":
            print(source["source"]["path"], len(source["cookies"]))

Reports keep failures visible instead of raising: a registered browser that is not installed is a report with status no_sources, and problems arrive as issues on the report, a profile, or a source. Only a bad request — an unknown browser ID or a profile ID this browser did not yield — raises, as a RuntimeError whose message is a diagnostic rather than a stable contract. load_report() covers every registered browser in one report.

schema_version versions the serialized report shape; reject a value your consumer does not understand. termination describes why execution stopped and is independent from status: its current vocabulary is completed, timed_out, cancelled, and resource_exhausted. For example, a timed-out request can still have status partial and retain sources that completed before the deadline.

An issue counts every occurrence in occurrences but keeps at most MAX_ISSUE_SAMPLES entries in samples; comparing the two tells a truncated excerpt from a complete one.

Every identifier and code (status, termination, engine, role, format, severity, …) is an open snake_case string, so compare against a known value and keep a fallback: a build newer than your code can return one you have not seen.

Explicit paths

Use cookies_from_path() when the file may be Firefox or Chromium. Use the Chromium-specific functions when selecting credentials explicitly:

from rookie_cookies import chromium_cookies_from_path, cookies_from_path

firefox = cookies_from_path("/path/to/cookies.sqlite", ["example.com"])
chrome = chromium_cookies_from_path(
    "/path/to/Chrome/Default/Network/Cookies",
    {"browser_id": "chrome", "domains": ["example.com"]},
)

Chromium options accept at most one credential selector: browser_id, local_state_path, or plaintext_only=True. Omitting all three selects Automatic credentials. Automatic probes platform credentials on Linux and macOS; on Windows an explicit Chromium path raises RuntimeError with the core missing_local_state_file diagnostic because it does not guess a browser installation. chromium_cookies_from_path_detailed() returns the same cookies with partition/source context.

Compatibility direct-path functions

from rookie_cookies import chromium_based_detailed, firefox_based_detailed

chromium_records = chromium_based_detailed(
    "/path/to/Brave/Default/Network/Cookies",
    ["example.com"],
    browser_id="brave",
)
firefox_records = firefox_based_detailed("/path/to/cookies.sqlite")

Each record contains the familiar cookie dictionary under cookie and a separate context dictionary. Existing functions and cookie dictionaries are unchanged. On Unix, chromium_based() also accepts browser_id as its third argument. Omit it only for plaintext-only databases; encrypted rows fail rather than using an assumed Chrome identity.

any_browser(), chromium_based() and its detailed twin, and flat firefox_based() are deprecated in 0.6 for removal no earlier than 0.7. Their runtime behavior remains unchanged throughout 0.6.x. The detailed Firefox API is not deprecated because there is no generic detailed Mozilla replacement.

Netscape export

from rookie_cookies import chrome, to_netscape

output = to_netscape(chrome())

The serializer prevents extra columns or forged records by encoding tabs, carriage returns, and line feeds in cookie-controlled fields as %09, %0D, and %0A. Every other character is preserved. Its output is byte-identical to the Rust, CLI, and Node serializers for the same cookies.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rookie_cookies-0.6.0a2.tar.gz (422.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rookie_cookies-0.6.0a2-cp311-abi3-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.11+Windows x86-64

rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.8 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ s390x

rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.8 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ppc64le

rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (2.8 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ i686

rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARMv7l

rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

rookie_cookies-0.6.0a2-cp311-abi3-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

rookie_cookies-0.6.0a2-cp311-abi3-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

Details for the file rookie_cookies-0.6.0a2.tar.gz.

File metadata

  • Download URL: rookie_cookies-0.6.0a2.tar.gz
  • Upload date:
  • Size: 422.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rookie_cookies-0.6.0a2.tar.gz
Algorithm Hash digest
SHA256 2ba5f9c0c93c6a267ec26ffb680332002332464d41990e9500d881f049ad68d7
MD5 b3d22993371acaf03ceb638141953c4a
BLAKE2b-256 095cf139755833d549e0850aee1d0e0511c000bba75a8779e6f90bf9fbe5d7cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rookie_cookies-0.6.0a2.tar.gz:

Publisher: publish-py.yml on teng-lin/rookie-cookies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rookie_cookies-0.6.0a2-cp311-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for rookie_cookies-0.6.0a2-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b5685693c445ab0a3470b9b5b1cd7c2689603eaff4b93e8f3d8835703ef48287
MD5 66bf49013ac22b1700bce69162177195
BLAKE2b-256 638de2c60d6ceac9c9312ec2b25b1cdc562397ec1661ac4c0d32a04db85c0ecc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rookie_cookies-0.6.0a2-cp311-abi3-win_amd64.whl:

Publisher: publish-py.yml on teng-lin/rookie-cookies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8087cad627873a69f8e9eb1a02b2df978df8e5392f1d2715643359dbd818d267
MD5 770602250787b4964a586b2c7e0a2c5a
BLAKE2b-256 2ddc3f972a34d565917542c6eeea3b260ba4fd7526579507108edc5fdfa517f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-py.yml on teng-lin/rookie-cookies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 0ed405d805916924f8a51ffb62ce06551306c519d147c9218d8064e854e3435c
MD5 d2fb2c25199e838d98e02b5f7b274de1
BLAKE2b-256 6a3690ffd5d4d12133b6847f0ded9b3790c3df3242b808355cec41800a78dcfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: publish-py.yml on teng-lin/rookie-cookies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9f4e0c5cf5b0fb7031a0872e8292959d9887d2bb14d101a37405074914ef6ca4
MD5 1c4480756a56fc94cae2e4f8c1df6f35
BLAKE2b-256 bae0d23521f7ed29ea325edc4849daf2cec4cd0b241d6f1f441f6a2be41098a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:

Publisher: publish-py.yml on teng-lin/rookie-cookies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 628100b548a00c5d6d2bbae763f8dd323df648d8435e1bbce9ff2a4175b96300
MD5 2db2b7a24ea81ad626dca81c842689d5
BLAKE2b-256 5cad821531e820b3d7205cce65b6f65fe18fbe4402fee9e4a2a3a02391def037

See more details on using hashes here.

Provenance

The following attestation bundles were made for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish-py.yml on teng-lin/rookie-cookies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 99585ef15694c85bd81538a2281c614d62da5218eb6cf0253a2f7a04d9863de0
MD5 6143e4440aff1118f6c5772e4fb9344b
BLAKE2b-256 0405a186c9295f2c77ac9a593a8ab77e63d4cecf0d1c342358657e9f1b9238d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl:

Publisher: publish-py.yml on teng-lin/rookie-cookies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8d0fff7a527d8ce3e0993f75f76408830832f23e22df0d1b3ea8cbcddd03e6cd
MD5 24ffeb29c0e4772a09c0e12cf859caae
BLAKE2b-256 40a99d2de1aca2362401bad3919a42e84ace5984f98c80fbbe1a04c16bda0bb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rookie_cookies-0.6.0a2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-py.yml on teng-lin/rookie-cookies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rookie_cookies-0.6.0a2-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rookie_cookies-0.6.0a2-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e47ab5effbf9a549650416a9a568c38f63e2230e40beda4034a0947c3d32dedd
MD5 1965fa24019ea14b8caff7e2e0b8ac06
BLAKE2b-256 d5f2acc20a615d233aab980fd59832e30b75b957f9b84bf3c44efed7e4565149

See more details on using hashes here.

Provenance

The following attestation bundles were made for rookie_cookies-0.6.0a2-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: publish-py.yml on teng-lin/rookie-cookies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rookie_cookies-0.6.0a2-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rookie_cookies-0.6.0a2-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e0418aeb4bfa921820f6149a50240c3563bdcddc6a2666638d086ce32e0252a2
MD5 8f3c5433182a27b4aa8c5f9a14b6b4ab
BLAKE2b-256 841e2445ddcc11b4647b9e9f163346c377f0463e43455e474be1d97f9ee6b48a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rookie_cookies-0.6.0a2-cp311-abi3-macosx_10_12_x86_64.whl:

Publisher: publish-py.yml on teng-lin/rookie-cookies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.6.0

6 files

This release

0.6.0a2 This release

10 files

0.5.9

10 files

0.5.8

10 files

0.5.7

10 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page