|
574 | 574 | "type": "pypi", |
575 | 575 | "namespace": null, |
576 | 576 | "name": "cryptography", |
577 | | - "version": "46.0.3", |
| 577 | + "version": "46.0.4", |
578 | 578 | "qualifiers": {}, |
579 | 579 | "subpath": null, |
580 | 580 | "primary_language": "Python", |
581 | 581 | "description": "cryptography is a package which provides cryptographic recipes and primitives to Python developers.\npyca/cryptography\n=================\n\n.. image:: https://img.shields.io/pypi/v/cryptography.svg\n :target: https://pypi.org/project/cryptography/\n :alt: Latest Version\n\n.. image:: https://readthedocs.org/projects/cryptography/badge/?version=latest\n :target: https://cryptography.io\n :alt: Latest Docs\n\n.. image:: https://github.com/pyca/cryptography/actions/workflows/ci.yml/badge.svg\n :target: https://github.com/pyca/cryptography/actions/workflows/ci.yml?query=branch%3Amain\n\n``cryptography`` is a package which provides cryptographic recipes and\nprimitives to Python developers. Our goal is for it to be your \"cryptographic\nstandard library\". It supports Python 3.8+ and PyPy3 7.3.11+.\n\n``cryptography`` includes both high level recipes and low level interfaces to\ncommon cryptographic algorithms such as symmetric ciphers, message digests, and\nkey derivation functions. For example, to encrypt something with\n``cryptography``'s high level symmetric encryption recipe:\n\n.. code-block:: pycon\n\n >>> from cryptography.fernet import Fernet\n >>> # Put this somewhere safe!\n >>> key = Fernet.generate_key()\n >>> f = Fernet(key)\n >>> token = f.encrypt(b\"A really secret message. Not for prying eyes.\")\n >>> token\n b'...'\n >>> f.decrypt(token)\n b'A really secret message. Not for prying eyes.'\n\nYou can find more information in the `documentation`_.\n\nYou can install ``cryptography`` with:\n\n.. code-block:: console\n\n $ pip install cryptography\n\nFor full details see `the installation documentation`_.\n\nDiscussion\n~~~~~~~~~~\n\nIf you run into bugs, you can file them in our `issue tracker`_.\n\nWe maintain a `cryptography-dev`_ mailing list for development discussion.\n\nYou can also join ``#pyca`` on ``irc.libera.chat`` to ask questions or get\ninvolved.\n\nSecurity\n~~~~~~~~\n\nNeed to report a security issue? Please consult our `security reporting`_\ndocumentation.\n\n\n.. _`documentation`: https://cryptography.io/\n.. _`the installation documentation`: https://cryptography.io/en/latest/installation/\n.. _`issue tracker`: https://github.com/pyca/cryptography/issues\n.. _`cryptography-dev`: https://mail.python.org/mailman/listinfo/cryptography-dev\n.. _`security reporting`: https://cryptography.io/en/latest/security/", |
582 | | - "release_date": "2025-10-15T23:17:56", |
| 582 | + "release_date": "2026-01-28T00:24:17", |
583 | 583 | "parties": [ |
584 | 584 | { |
585 | 585 | "type": "person", |
|
614 | 614 | "Topic :: Security :: Cryptography" |
615 | 615 | ], |
616 | 616 | "homepage_url": null, |
617 | | - "download_url": "https://files.pythonhosted.org/packages/d1/a0/5fa77988289c34bdb9f913f5606ecc9ada1adb5ae870bd0d1054a7021cc4/cryptography-46.0.3-cp38-abi3-manylinux_2_28_x86_64.whl", |
618 | | - "size": 4473714, |
| 617 | + "download_url": "https://files.pythonhosted.org/packages/e9/23/cbb2036e450980f65c6e0a173b73a56ff3bccd8998965dea5cc9ddd424a5/cryptography-46.0.4-cp38-abi3-musllinux_1_2_x86_64.whl", |
| 618 | + "size": 4664837, |
619 | 619 | "sha1": null, |
620 | | - "md5": "7ab2500fad024070eca741df20dc7e4c", |
621 | | - "sha256": "1000713389b75c449a6e979ffc7dcc8ac90b437048766cef052d4d30b8220971", |
| 620 | + "md5": "df7548f5bbd68ed7d52169e924926a88", |
| 621 | + "sha256": "93d8291da8d71024379ab2cb0b5c57915300155ad42e07f76bea6ad838d7e59b", |
622 | 622 | "sha512": null, |
623 | 623 | "bug_tracking_url": null, |
624 | 624 | "code_view_url": null, |
|
633 | 633 | "dependencies": [], |
634 | 634 | "repository_homepage_url": null, |
635 | 635 | "repository_download_url": null, |
636 | | - "api_data_url": "https://pypi.org/pypi/cryptography/46.0.3/json", |
| 636 | + "api_data_url": "https://pypi.org/pypi/cryptography/46.0.4/json", |
637 | 637 | "datasource_id": null, |
638 | | - "purl": "pkg:pypi/cryptography@46.0.3" |
| 638 | + "purl": "pkg:pypi/cryptography@46.0.4" |
639 | 639 | }, |
640 | 640 | { |
641 | 641 | "type": "pypi", |
|
904 | 904 | "type": "pypi", |
905 | 905 | "namespace": null, |
906 | 906 | "name": "pycparser", |
907 | | - "version": "2.23", |
| 907 | + "version": "3.0", |
908 | 908 | "qualifiers": {}, |
909 | 909 | "subpath": null, |
910 | 910 | "primary_language": "Python", |
911 | | - "description": "C parser in Python\npycparser is a complete parser of the C language, written in\npure Python using the PLY parsing library.\nIt parses C code into an AST and can serve as a front-end for\nC compilers or analysis tools.", |
912 | | - "release_date": "2025-09-09T13:23:46", |
| 911 | + "description": "C parser in Python\n===============\npycparser v3.00\n===============\n\n\n.. image:: https://github.com/eliben/pycparser/workflows/pycparser-tests/badge.svg\n :align: center\n :target: https://github.com/eliben/pycparser/actions\n\n----\n\n.. contents::\n :backlinks: none\n\n.. sectnum::\n\nIntroduction\n============\n\nWhat is pycparser?\n------------------\n\n**pycparser** is a parser for the C language, written in pure Python. It is a\nmodule designed to be easily integrated into applications that need to parse\nC source code.\n\nWhat is it good for?\n--------------------\n\nAnything that needs C code to be parsed. The following are some uses for\n**pycparser**, taken from real user reports:\n\n* C code obfuscator\n* Front-end for various specialized C compilers\n* Static code checker\n* Automatic unit-test discovery\n* Adding specialized extensions to the C language\n\nOne of the most popular uses of **pycparser** is in the `cffi\n<https://cffi.readthedocs.io/en/latest/>`_ library, which uses it to parse the\ndeclarations of C functions and types in order to auto-generate FFIs.\n\n**pycparser** is unique in the sense that it's written in pure Python - a very\nhigh level language that's easy to experiment with and tweak. To people familiar\nwith Lex and Yacc, **pycparser**'s code will be simple to understand. It also\nhas no external dependencies (except for a Python interpreter), making it very\nsimple to install and deploy.\n\nWhich version of C does pycparser support?\n------------------------------------------\n\n**pycparser** aims to support the full C99 language (according to the standard\nISO/IEC 9899). Some features from C11 are also supported, and patches to support\nmore are welcome.\n\n**pycparser** supports very few GCC extensions, but it's fairly easy to set\nthings up so that it parses code with a lot of GCC-isms successfully. See the\n`FAQ <https://github.com/eliben/pycparser/wiki/FAQ>`_ for more details.\n\nWhat grammar does pycparser follow?\n-----------------------------------\n\n**pycparser** very closely follows the C grammar provided in Annex A of the C99\nstandard (ISO/IEC 9899).\n\nHow is pycparser licensed?\n--------------------------\n\n`BSD license <https://github.com/eliben/pycparser/blob/master/LICENSE>`_.\n\nContact details\n---------------\n\nFor reporting problems with **pycparser** or submitting feature requests, please\nopen an `issue <https://github.com/eliben/pycparser/issues>`_, or submit a\npull request.\n\n\nInstalling\n==========\n\nPrerequisites\n-------------\n\n**pycparser** is being tested with modern versions of Python on\nLinux, macOS and Windows. See `the CI dashboard <https://github.com/eliben/pycparser/actions/workflows/ci.yml>`__\nfor details.\n\n**pycparser** has no external dependencies.\n\nInstallation process\n--------------------\n\nThe recommended way to install **pycparser** is with ``pip``::\n\n > pip install pycparser\n\nUsing\n=====\n\nInteraction with the C preprocessor\n-----------------------------------\n\nIn order to be compilable, C code must be preprocessed by the C preprocessor -\n``cpp``. A compatible ``cpp`` handles preprocessing directives like ``#include`` and\n``#define``, removes comments, and performs other minor tasks that prepare the C\ncode for compilation.\n\nFor all but the most trivial snippets of C code **pycparser**, like a C\ncompiler, must receive preprocessed C code in order to function correctly. If\nyou import the top-level ``parse_file`` function from the **pycparser** package,\nit will interact with ``cpp`` for you, as long as it's in your PATH, or you\nprovide a path to it.\n\nNote also that you can use ``gcc -E`` or ``clang -E`` instead of ``cpp``. See\nthe ``using_gcc_E_libc.py`` example for more details. Windows users can download\nand install a binary build of Clang for Windows `from this website\n<http://llvm.org/releases/download.html>`_.\n\nWhat about the standard C library headers?\n------------------------------------------\n\nC code almost always ``#include``\\s various header files from the standard C\nlibrary, like ``stdio.h``. While (with some effort) **pycparser** can be made to\nparse the standard headers from any C compiler, it's much simpler to use the\nprovided \"fake\" standard includes for C11 in ``utils/fake_libc_include``. These\nare standard C header files that contain only the bare necessities to allow\nvalid parsing of the files that use them. As a bonus, since they're minimal, it\ncan significantly improve the performance of parsing large C files.\n\nThe key point to understand here is that **pycparser** doesn't really care about\nthe semantics of types. It only needs to know whether some token encountered in\nthe source is a previously defined type. This is essential in order to be able\nto parse C correctly.\n\nSee `this blog post\n<https://eli.thegreenplace.net/2015/on-parsing-c-type-declarations-and-fake-headers>`_\nfor more details.\n\nNote that the fake headers are not included in the ``pip`` package nor installed\nvia the package build (`#224 <https://github.com/eliben/pycparser/issues/224>`_).\n\nBasic usage\n-----------\n\nTake a look at the |examples|_ directory of the distribution for a few examples\nof using **pycparser**. These should be enough to get you started. Please note\nthat most realistic C code samples would require running the C preprocessor\nbefore passing the code to **pycparser**; see the previous sections for more\ndetails.\n\n.. |examples| replace:: ``examples``\n.. _examples: examples\n\n\nAdvanced usage\n--------------\n\nThe public interface of **pycparser** is well documented with comments in\n``pycparser/c_parser.py``. For a detailed overview of the various AST nodes\ncreated by the parser, see ``pycparser/_c_ast.cfg``.\n\nThere's also a `FAQ available here <https://github.com/eliben/pycparser/wiki/FAQ>`_.\nIn any case, you can always drop me an `email <eliben@gmail.com>`_ for help.\n\n\nModifying\n=========\n\nThere are a few points to keep in mind when modifying **pycparser**:\n\n* The code for **pycparser**'s AST nodes is automatically generated from a\n configuration file - ``_c_ast.cfg``, by ``_ast_gen.py``. If you modify the AST\n configuration, make sure to re-generate the code. This can be done by running\n the ``_ast_gen.py`` script (from the repository root or the\n ``pycparser`` directory).\n* Read the docstring in the constructor of the ``CParser`` class for details\n on configuration and compatibility arguments.\n\n\nPackage contents\n================\n\nOnce you unzip the ``pycparser`` package, you'll see the following files and\ndirectories:\n\nREADME.rst:\n This README file.\n\nLICENSE:\n The pycparser license\n\nsetup.py:\n Legacy installation script (build metadata lives in ``pyproject.toml``).\n\npyproject.toml:\n Package metadata and build configuration.\n\nexamples/:\n A directory with some examples of using **pycparser**\n\npycparser/:\n The **pycparser** module source code.\n\ntests/:\n Unit tests.\n\nutils/fake_libc_include:\n Minimal standard C library include files that should allow to parse any C code.\n Note that these headers now include C11 code, so they may not work when the\n preprocessor is configured to an earlier C standard (like ``-std=c99``).\n\nutils/internal/:\n Internal utilities for my own use. You probably don't need them.\n\n\nContributors\n============\n\nSome people have contributed to **pycparser** by opening issues on bugs they've\nfound and/or submitting patches. The list of contributors is in the CONTRIBUTORS\nfile in the source distribution. After **pycparser** moved to Github I stopped\nupdating this list because Github does a much better job at tracking\ncontributions.", |
| 912 | + "release_date": "2026-01-21T14:26:50", |
913 | 913 | "parties": [ |
914 | 914 | { |
915 | 915 | "type": "person", |
916 | 916 | "role": "author", |
917 | | - "name": "Eli Bendersky", |
918 | | - "email": "eliben@gmail.com", |
| 917 | + "name": null, |
| 918 | + "email": "Eli Bendersky <eliben@gmail.com>", |
919 | 919 | "url": null |
920 | 920 | }, |
921 | 921 | { |
922 | 922 | "type": "person", |
923 | 923 | "role": "maintainer", |
924 | | - "name": "Eli Bendersky", |
925 | | - "email": null, |
| 924 | + "name": null, |
| 925 | + "email": "Eli Bendersky <eliben@gmail.com>", |
926 | 926 | "url": null |
927 | 927 | } |
928 | 928 | ], |
|
933 | 933 | "Programming Language :: Python :: 3.11", |
934 | 934 | "Programming Language :: Python :: 3.12", |
935 | 935 | "Programming Language :: Python :: 3.13", |
936 | | - "Programming Language :: Python :: 3.8", |
937 | | - "Programming Language :: Python :: 3.9" |
| 936 | + "Programming Language :: Python :: 3.14" |
938 | 937 | ], |
939 | | - "homepage_url": "https://github.com/eliben/pycparser", |
940 | | - "download_url": "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", |
941 | | - "size": 118140, |
| 938 | + "homepage_url": null, |
| 939 | + "download_url": "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", |
| 940 | + "size": 48172, |
942 | 941 | "sha1": null, |
943 | | - "md5": "961daf0e0910747590f8a0101322bcd3", |
944 | | - "sha256": "e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", |
| 942 | + "md5": "dfc689e63af0e21be54c80938cc8ac46", |
| 943 | + "sha256": "b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", |
945 | 944 | "sha512": null, |
946 | 945 | "bug_tracking_url": null, |
947 | 946 | "code_view_url": null, |
948 | 947 | "vcs_url": null, |
949 | 948 | "copyright": null, |
950 | | - "license_expression": null, |
951 | | - "declared_license": { |
952 | | - "license": "BSD-3-Clause", |
953 | | - "classifiers": [ |
954 | | - "License :: OSI Approved :: BSD License" |
955 | | - ] |
956 | | - }, |
| 949 | + "license_expression": "BSD-3-Clause", |
| 950 | + "declared_license": {}, |
957 | 951 | "notice_text": null, |
958 | 952 | "source_packages": [], |
959 | 953 | "file_references": [], |
960 | 954 | "extra_data": {}, |
961 | 955 | "dependencies": [], |
962 | 956 | "repository_homepage_url": null, |
963 | 957 | "repository_download_url": null, |
964 | | - "api_data_url": "https://pypi.org/pypi/pycparser/2.23/json", |
| 958 | + "api_data_url": "https://pypi.org/pypi/pycparser/3.0/json", |
965 | 959 | "datasource_id": null, |
966 | | - "purl": "pkg:pypi/pycparser@2.23" |
| 960 | + "purl": "pkg:pypi/pycparser@3.0" |
967 | 961 | }, |
968 | 962 | { |
969 | 963 | "type": "pypi", |
|
1277 | 1271 | { |
1278 | 1272 | "package": "pkg:pypi/cffi@2.0.0", |
1279 | 1273 | "dependencies": [ |
1280 | | - "pkg:pypi/pycparser@2.23" |
| 1274 | + "pkg:pypi/pycparser@3.0" |
1281 | 1275 | ] |
1282 | 1276 | }, |
1283 | 1277 | { |
|
1289 | 1283 | "dependencies": [] |
1290 | 1284 | }, |
1291 | 1285 | { |
1292 | | - "package": "pkg:pypi/cryptography@46.0.3", |
| 1286 | + "package": "pkg:pypi/cryptography@46.0.4", |
1293 | 1287 | "dependencies": [ |
1294 | 1288 | "pkg:pypi/cffi@2.0.0" |
1295 | 1289 | ] |
|
1317 | 1311 | "dependencies": [] |
1318 | 1312 | }, |
1319 | 1313 | { |
1320 | | - "package": "pkg:pypi/pycparser@2.23", |
| 1314 | + "package": "pkg:pypi/pycparser@3.0", |
1321 | 1315 | "dependencies": [] |
1322 | 1316 | }, |
1323 | 1317 | { |
|
0 commit comments