frequency-analysis


Namefrequency-analysis JSON
Version 0.1.4.5 PyPI version JSON
download
home_pagehttps://github.com/uqqu/frequency_analysis
SummarySymbol/symbol bigram/word/word bigram frequency analyzer with excel output.
upload_time2023-04-23 16:28:13
maintainer
docs_urlNone
authoruqqu
requires_python
license
keywords frequency analysis bigram linguistic cryptanalysis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Frequency analysis
------------------

Python package for symbol/word and their bigrams frequency analysis with excel output.

What values can be counted: quantity, quantity in the first position, quantity in the last position, average position.

For which data values can be counted: symbols, symbol bigrams, words, word bigrams.

Additional possible data: ye-yo words table for Russian language (in excel output it can be cross-referenced with words quantity).

Usage
-----

1. ``pip install frequency-analysis``;
2. Download data set of your choice;
3. Call ``Analysis`` class with context manager (take a look at the optional arguments);
4. Parse your data set to word list (one sentence in list for properly word position counting) and send it to one of three methods of ``Analysis``;
5. Call ``Result`` class with context manager (with optional name argument);
6. Call one or several of ``Result`` methods to create excel sheet(s) with appropriate data.

Methods and arguments
---------------------

``Analysis`` class arguments
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

All arguments are optional

* *name* – the name of the folder in which the analysis will be saved
     default ``frequency_analysis``
* *mode* – analysis operation mode (``[n]ew``, ``[a]ppend``, ``[c]ontinue``)
     default ``n``
* *word\_pattern* – regex pattern for matching inwords symbols
    default ``[a-zA-Zа-яА-ЯёЁ]+(?:(?:-?[a-zA-Zа-яА-ЯёЁ]+)+\|'?[a-zA-Zа-яА-ЯёЁ]+)\|[a-zA-Zа-яА-ЯёЁ]``
* *allowed\_symbols* – string of symbols or list with symbol unicode decimal values, which will be counted to analysis
    default ``[*range(32, 127), 1025, *range(1040, 1104), 1105]`` (base punctuation, base Latin, Russian Cyrillic)
* *yo* – int for additional Russian word processing – compare words with word list to detect number of ye/yo misspelling. 0 – disabled; 1 – enabled; 2 with 'a' mode – update yo list with new data.
     default ``0``

     To use the last one you should place two word files near the running script (``yo.txt`` for words with mandatory yo and ``ye-yo.txt`` for possibly yo writing). You can use your own or take it `here <https://github.com/uqqu/yo_dict>`__.

``Analysis`` class methods
~~~~~~~~~~~~~~~~~~~~~~~~~~

``count_symbols(word_list: list, [pos: bool, bigrams: bool])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Method for counting symbol and symbol\_bigram frequency. Counted values:
quantity, quantity in the first position, quantity in the last position, average position in word. 

Average position counted only with argument ``pos`` as ``True`` (default ``False``). Position for symbols, which matched with ``word_pattern`` counted as for "clear" word, for other – as for "raw".

Example: in single word ``–Yes!`` with default ``word_pattern`` positions will be counted as ``(– 1), (Y 1), (e 2), (s 3), (! 5)``.

Bigrams counting can be disabled with argument ``bigram`` as ``False`` (default ``True``).

``count_words(word_list: list, [pos: bool, bigrams: bool])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Method for counting word and word\_bigrams frequency. Counted values:
quantity, quantity in the first position, quantity in the last position, average position in sentence. 

Average position counted only with argument ``pos`` as ``True`` (default ``False``).

Bigrams counting can be disabled with argument ``bigram`` as ``False`` (default ``True``).

``count_all(word_list: list, [pos: bool, symbol_bigrams: bool, word_bigrams: bool])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Combined call of previous two methods.

``Result`` class arguments
~~~~~~~~~~~~~~~~~~~~~~~~~~

The only argument is optional

* *name* – the name of the folder in which the analysis was saved
    default ``frequency_analysis``

``Result`` class methods
~~~~~~~~~~~~~~~~~~~~~~~~

    First 6 methods can be called all it once with ``treat()`` method

Many methods accept arguments ``limit``, ``chart_limit``, ``min_quantity`` and ``ignore_case``.

* *limit* (default ``0``) it is a max number of elements, which will be added to the sheet. ``0`` – unlimited;
* *chart_limit* (default ``20``) – a number of elements, which will be counted with graphical chart;
* *min_quantity* (default ``1``) – a minimal appropriate value at with element will be added to the sheet;
* *ignore_case* (default ``False``) – with this argument as ``True`` lower- and upper- case symbols will be united into a single element. With ``False`` – will be counted separately. ``Keyword-only``

``sheet_stats()``
^^^^^^^^^^^^^^^^^

Main result info – number of entries, total count and average position (if exists) for each data type.

``sheet_top_symbols([limit, chart_limit, min_quantity])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Top list of all analyzed symbols sorted by quantity. The next to it is also located the same one list, but with ignore-case. There is no need to create separate sheet, just use column of your choice.

``sheet_top_symbol_bigrams([limit, chart_limit, min_quantity])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Top list of symbol bigrams sorted by quantity with additional case insensitive top-list.

``sheet_all_symbol_bigrams([min_quantity, ignore_case])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2D sheet with all bigrams quantity. ``min_quantity`` argument works here for sum of row/column values instead of each separated bigram.

``sheet_top_words([limit, chart_limit, min_quantity])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Top list of analyzed words sorted by quantity. Word counting is always case insensitive, on the ``Analyze`` stage.

``sheet_top_word_bigrams([limit, chart_limit, min_quantity])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Top list of analyzed word bigrams sorted by quantity.

``treat([limits: tuple(four int), chart_limits: tuple(four int), min_quantities: tuple(five int)])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Single call of all ``Result`` methods above. Calling methods in order of tuple values:

1. ``sheet_top_symbols()``
2. ``sheet_top_symbol_bigrams()``
3. ``sheet_top_words()``
4. ``sheet_top_word_bigrams()``
5. ``sheet_all_symbol_bigrams()``

Please note – the last one (value for ``sheet_all_symbol_bigrams()``) there is only in the ``min_quantities`` argument. 

Default values as elsewhere:

* *limits* – ``(0,)*4``
* *chart_limits* – ``(20,)*4``
* *min_quantities* – ``(1,)*5``

``sheet_custom_top_symbols(symbols: str, [chart_limit, name='Custom symbols'])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Create symbols top-list as ``sheet_top_symbols()``, but only with symbols of your choice. ``name`` – ``keyword-only``

``sheet_en_top_symbols(symbols: str, [chart_limit])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Create symbols top-list as ``sheet_top_symbols()``, but only with base Latin symbols.

``sheet_ru_top_symbols(symbols: str, [chart_limit])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Create symbols top-list as ``sheet_top_symbols()``, but only with Russian Cyrillic symbols.

``sheet_custom_symbol_bigrams(symbols: str, [ignore_case, name='Custom symbol bigrams'])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Create symbol bigrmas 2D sheet as ``sheet_all_symbol_bigrams()``, but only with symbols of your choice. Order of symbols on the sheet will be the same as in the input argument. ``name`` – ``keyword-only``

``sheet_en_symbol_bigrams([ignore_case])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Create symbol bigrams 2D sheet as ``sheet_all_symbol_bigrams()``, but only with base Latin symbols.

``sheet_ru_symbol_bigrams([ignore_case])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Create symbol bigrams 2D sheet as ``sheet_all_symbol_bigrams()``, but only with Russian Cyrillic symbols.

``sheet_yo_words([limit, min_quantity])``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Create cross-referenced sheet for all counted ye-yo words with their quantity and total misspells counter. Works only with analysis created with ``yo`` argument as ``1`` or ``2``.

Performed analyses
------------------

* English analysis with `EuroMatrixPlus/MultiUN <http://www.euromatrixplus.net/multi-un/>`__ English data set (3.1Gb .xml, 2.4\*10\ :sup:`9` symbols, 379\*10\ :sup:`6` words)

   * https://github.com/uqqu/frequency\_analysis/tree/master/examples/en/multiUN

* Russian analysis with `EuroMatrixPlus/MultiUN <http://www.euromatrixplus.net/multi-un/>`__ Russian data set (4.3Gb .xml, 2.2\*10\ :sup:`9` symbols, 270\*10\ :sup:`6` words)

   * https://github.com/uqqu/frequency\_analysis/tree/master/examples/ru/multiUN

* Russian analysis with `OpenCorpora <http://opencorpora.org/>`__ data set (528Mb .xml, 11.7\*10\ :sup:`6` symbols, 1.6\*10\ :sup:`6` words)

   * https://github.com/uqqu/frequency\_analysis/tree/master/examples/ru/annot\_opcorpora

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/uqqu/frequency_analysis",
    "name": "frequency-analysis",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "frequency analysis bigram linguistic cryptanalysis",
    "author": "uqqu",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/13/7a/ef00c65da64094bd85f56de8c17502e8d422ad5bbf38f9a1f714ee65c906/frequency_analysis-0.1.4.5.tar.gz",
    "platform": null,
    "description": "Frequency analysis\r\n------------------\r\n\r\nPython package for symbol/word and their bigrams frequency analysis with excel output.\r\n\r\nWhat values can be counted: quantity, quantity in the first position, quantity in the last position, average position.\r\n\r\nFor which data values can be counted: symbols, symbol bigrams, words, word bigrams.\r\n\r\nAdditional possible data: ye-yo words table for Russian language (in excel output it can be cross-referenced with words quantity).\r\n\r\nUsage\r\n-----\r\n\r\n1. ``pip install frequency-analysis``;\r\n2. Download data set of your choice;\r\n3. Call ``Analysis`` class with context manager (take a look at the optional arguments);\r\n4. Parse your data set to word list (one sentence in list for properly word position counting) and send it to one of three methods of ``Analysis``;\r\n5. Call ``Result`` class with context manager (with optional name argument);\r\n6. Call one or several of ``Result`` methods to create excel sheet(s) with appropriate data.\r\n\r\nMethods and arguments\r\n---------------------\r\n\r\n``Analysis`` class arguments\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\nAll arguments are optional\r\n\r\n* *name* \u2013 the name of the folder in which the analysis will be saved\r\n     default ``frequency_analysis``\r\n* *mode* \u2013 analysis operation mode (``[n]ew``, ``[a]ppend``, ``[c]ontinue``)\r\n     default ``n``\r\n* *word\\_pattern* \u2013 regex pattern for matching inwords symbols\r\n    default ``[a-zA-Z\u0430-\u044f\u0410-\u042f\u0451\u0401]+(?:(?:-?[a-zA-Z\u0430-\u044f\u0410-\u042f\u0451\u0401]+)+\\|'?[a-zA-Z\u0430-\u044f\u0410-\u042f\u0451\u0401]+)\\|[a-zA-Z\u0430-\u044f\u0410-\u042f\u0451\u0401]``\r\n* *allowed\\_symbols* \u2013 string of symbols or list with symbol unicode decimal values, which will be counted to analysis\r\n    default ``[*range(32, 127), 1025, *range(1040, 1104), 1105]`` (base punctuation, base Latin, Russian Cyrillic)\r\n* *yo* \u2013 int for additional Russian word processing \u2013 compare words with word list to detect number of ye/yo misspelling. 0 \u2013 disabled; 1 \u2013 enabled; 2 with 'a' mode \u2013 update yo list with new data.\r\n     default ``0``\r\n\r\n     To use the last one you should place two word files near the running script (``yo.txt`` for words with mandatory yo and ``ye-yo.txt`` for possibly yo writing). You can use your own or take it `here <https://github.com/uqqu/yo_dict>`__.\r\n\r\n``Analysis`` class methods\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\n``count_symbols(word_list: list, [pos: bool, bigrams: bool])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nMethod for counting symbol and symbol\\_bigram frequency. Counted values:\r\nquantity, quantity in the first position, quantity in the last position, average position in word. \r\n\r\nAverage position counted only with argument ``pos`` as ``True`` (default ``False``). Position for symbols, which matched with ``word_pattern`` counted as for \"clear\" word, for other \u2013 as for \"raw\".\r\n\r\nExample: in single word ``\u2013Yes!`` with default ``word_pattern`` positions will be counted as ``(\u2013 1), (Y 1), (e 2), (s 3), (! 5)``.\r\n\r\nBigrams counting can be disabled with argument ``bigram`` as ``False`` (default ``True``).\r\n\r\n``count_words(word_list: list, [pos: bool, bigrams: bool])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nMethod for counting word and word\\_bigrams frequency. Counted values:\r\nquantity, quantity in the first position, quantity in the last position, average position in sentence. \r\n\r\nAverage position counted only with argument ``pos`` as ``True`` (default ``False``).\r\n\r\nBigrams counting can be disabled with argument ``bigram`` as ``False`` (default ``True``).\r\n\r\n``count_all(word_list: list, [pos: bool, symbol_bigrams: bool, word_bigrams: bool])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nCombined call of previous two methods.\r\n\r\n``Result`` class arguments\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\nThe only argument is optional\r\n\r\n* *name* \u2013 the name of the folder in which the analysis was saved\r\n    default ``frequency_analysis``\r\n\r\n``Result`` class methods\r\n~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\n    First 6 methods can be called all it once with ``treat()`` method\r\n\r\nMany methods accept arguments ``limit``, ``chart_limit``, ``min_quantity`` and ``ignore_case``.\r\n\r\n* *limit* (default ``0``) it is a max number of elements, which will be added to the sheet. ``0`` \u2013 unlimited;\r\n* *chart_limit* (default ``20``) \u2013 a number of elements, which will be counted with graphical chart;\r\n* *min_quantity* (default ``1``) \u2013 a minimal appropriate value at with element will be added to the sheet;\r\n* *ignore_case* (default ``False``) \u2013 with this argument as ``True`` lower- and upper- case symbols will be united into a single element. With ``False`` \u2013 will be counted separately. ``Keyword-only``\r\n\r\n``sheet_stats()``\r\n^^^^^^^^^^^^^^^^^\r\n\r\nMain result info \u2013 number of entries, total count and average position (if exists) for each data type.\r\n\r\n``sheet_top_symbols([limit, chart_limit, min_quantity])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nTop list of all analyzed symbols sorted by quantity. The next to it is also located the same one list, but with ignore-case. There is no need to create separate sheet, just use column of your choice.\r\n\r\n``sheet_top_symbol_bigrams([limit, chart_limit, min_quantity])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nTop list of symbol bigrams sorted by quantity with additional case insensitive top-list.\r\n\r\n``sheet_all_symbol_bigrams([min_quantity, ignore_case])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\n2D sheet with all bigrams quantity. ``min_quantity`` argument works here for sum of row/column values instead of each separated bigram.\r\n\r\n``sheet_top_words([limit, chart_limit, min_quantity])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nTop list of analyzed words sorted by quantity. Word counting is always case insensitive, on the ``Analyze`` stage.\r\n\r\n``sheet_top_word_bigrams([limit, chart_limit, min_quantity])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nTop list of analyzed word bigrams sorted by quantity.\r\n\r\n``treat([limits: tuple(four int), chart_limits: tuple(four int), min_quantities: tuple(five int)])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nSingle call of all ``Result`` methods above. Calling methods in order of tuple values:\r\n\r\n1. ``sheet_top_symbols()``\r\n2. ``sheet_top_symbol_bigrams()``\r\n3. ``sheet_top_words()``\r\n4. ``sheet_top_word_bigrams()``\r\n5. ``sheet_all_symbol_bigrams()``\r\n\r\nPlease note \u2013 the last one (value for ``sheet_all_symbol_bigrams()``) there is only in the ``min_quantities`` argument. \r\n\r\nDefault values as elsewhere:\r\n\r\n* *limits* \u2013 ``(0,)*4``\r\n* *chart_limits* \u2013 ``(20,)*4``\r\n* *min_quantities* \u2013 ``(1,)*5``\r\n\r\n``sheet_custom_top_symbols(symbols: str, [chart_limit, name='Custom symbols'])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nCreate symbols top-list as ``sheet_top_symbols()``, but only with symbols of your choice. ``name`` \u2013 ``keyword-only``\r\n\r\n``sheet_en_top_symbols(symbols: str, [chart_limit])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nCreate symbols top-list as ``sheet_top_symbols()``, but only with base Latin symbols.\r\n\r\n``sheet_ru_top_symbols(symbols: str, [chart_limit])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nCreate symbols top-list as ``sheet_top_symbols()``, but only with Russian Cyrillic symbols.\r\n\r\n``sheet_custom_symbol_bigrams(symbols: str, [ignore_case, name='Custom symbol bigrams'])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nCreate symbol bigrmas 2D sheet as ``sheet_all_symbol_bigrams()``, but only with symbols of your choice. Order of symbols on the sheet will be the same as in the input argument. ``name`` \u2013 ``keyword-only``\r\n\r\n``sheet_en_symbol_bigrams([ignore_case])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nCreate symbol bigrams 2D sheet as ``sheet_all_symbol_bigrams()``, but only with base Latin symbols.\r\n\r\n``sheet_ru_symbol_bigrams([ignore_case])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nCreate symbol bigrams 2D sheet as ``sheet_all_symbol_bigrams()``, but only with Russian Cyrillic symbols.\r\n\r\n``sheet_yo_words([limit, min_quantity])``\r\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nCreate cross-referenced sheet for all counted ye-yo words with their quantity and total misspells counter. Works only with analysis created with ``yo`` argument as ``1`` or ``2``.\r\n\r\nPerformed analyses\r\n------------------\r\n\r\n* English analysis with `EuroMatrixPlus/MultiUN <http://www.euromatrixplus.net/multi-un/>`__ English data set (3.1Gb .xml, 2.4\\*10\\ :sup:`9` symbols, 379\\*10\\ :sup:`6` words)\r\n\r\n   * https://github.com/uqqu/frequency\\_analysis/tree/master/examples/en/multiUN\r\n\r\n* Russian analysis with `EuroMatrixPlus/MultiUN <http://www.euromatrixplus.net/multi-un/>`__ Russian data set (4.3Gb .xml, 2.2\\*10\\ :sup:`9` symbols, 270\\*10\\ :sup:`6` words)\r\n\r\n   * https://github.com/uqqu/frequency\\_analysis/tree/master/examples/ru/multiUN\r\n\r\n* Russian analysis with `OpenCorpora <http://opencorpora.org/>`__ data set (528Mb .xml, 11.7\\*10\\ :sup:`6` symbols, 1.6\\*10\\ :sup:`6` words)\r\n\r\n   * https://github.com/uqqu/frequency\\_analysis/tree/master/examples/ru/annot\\_opcorpora\r\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Symbol/symbol bigram/word/word bigram frequency analyzer with excel output.",
    "version": "0.1.4.5",
    "split_keywords": [
        "frequency",
        "analysis",
        "bigram",
        "linguistic",
        "cryptanalysis"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "137aef00c65da64094bd85f56de8c17502e8d422ad5bbf38f9a1f714ee65c906",
                "md5": "9f098532fac0b6623621c771a2348b87",
                "sha256": "7fde770e6c9d317c720b21d13698b8c025799bd6ede19cf6116f9cfa41d5353d"
            },
            "downloads": -1,
            "filename": "frequency_analysis-0.1.4.5.tar.gz",
            "has_sig": false,
            "md5_digest": "9f098532fac0b6623621c771a2348b87",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 15746,
            "upload_time": "2023-04-23T16:28:13",
            "upload_time_iso_8601": "2023-04-23T16:28:13.090645Z",
            "url": "https://files.pythonhosted.org/packages/13/7a/ef00c65da64094bd85f56de8c17502e8d422ad5bbf38f9a1f714ee65c906/frequency_analysis-0.1.4.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-23 16:28:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "uqqu",
    "github_project": "frequency_analysis",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "frequency-analysis"
}
        
Elapsed time: 0.07351s