greyjack


Namegreyjack JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
SummaryGreyJack Solver is a metaheuristic constraint solver for Python (current version) built on top of Polars. It empowers you to solve a wide range of constraint optimization problems, including continuous, integer, and mixed-integer challenges.
upload_time2025-03-22 01:03:29
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords greyjack solver optimization polars metaheuristic genetic algorithm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# Preview

![](logos/greyjack-python-long-logo.png)

_In optimum we trust._

GreyJack Solver is a "jack of all trades" constraint metaheuristic solver for Python, built on the robust foundations of Rust and Polars. It empowers you to tackle a wide array of constraint optimization problems, including continuous, integer, and mixed-integer challenges with ease and efficiency.

# Editions

There are 2 editions of GreyJack Solver:

- Python edition
- [Rust edition](https://github.com/CameleoGrey/greyjack-solver-rust)

# Key Features of GreyJack Solver

- **Unmatched Comfort, Expressiveness, Flexibility and speed of developing** Designed to express almost any optimization problem with maximum comfortability and clarity.
- **Universality** Supports a wide range of constraint problems, including continuous, integer, and mixed-integer challenges. Additionally, thanks to Polars, you can optimize virtually any process that can be represented as table data.
- **Python's Comfort Meets Rust's Speed** All computationally intensive parts of the solver are implemented in Rust and seamlessly integrated into Python, offering fast development cycles with production-ready performance for ~95% real-world tasks.
- **Clarity and Simplicity** GreyJack provides a clear and straightforward approach to designing, implementing, and improving effective solutions for nearly any constraint problem and scenario.
- **Nearly Linear Horizontal Scaling** The multi-threaded solving process is organized as a collective effort of individual agents (using the island computation model for all algorithms), which share results with neighbors during solving. This approach ensures nearly linear horizontal scaling, enhancing both the quality and speed of solutions (depending on agent settings and the problem at hand).
- **Support for Population and Local Search Algorithms** GreyJack Solver supports a wide range of metaheuristics, including population-based and local search algorithms, with highly flexible settings. You can easily find, select, and configure the approach that best fits your problem, delivering optimal results.
- **Easy Integration**  The observer mechanism (see examples) simplifies integration, making it straightforward to incorporate GreyJack Solver into your existing workflows..

# Get started with GreyJack Solver

```
pip install greyjack
```

- Explore examples. Docs and guides will be later. GreyJack is very intuitively understandable solver (even Rust version).
- Simply solve your tasks simply.

# Install GreyJack Solver from source

- Be sure that you've installed Rust (rustup) and Python on your machine.
```
- (create venv, activate it, cd greyjack-solver-python/greyjack)
pip install maturin
maturin develop --release
```
-  maturin will build the Rust part, get all Python dependencies (for solver itself, not examples) and install greyjack to your venv

# RoadMap

- API for modelling pure math problems (classic solvers like)
- Modern variations (modifications) of LSHADE (Differential evolution algorithms often appear in articles as sota approaches)
- CMA, probably its modern variants, adaptations for tasks with integer and categorical variables (often appears in articles as sota approach)
- Add more examples: Job-Shop, Pickup&Delivery, some continuous and MIP tasks, scheduling, etc
- Composite termination criterion (for example: solving limit minutes N AND score not improving M seconds)
- Multi-level score
- Custom moves support
- Try to impove incremental (pseudo-incremental) score calculation mechanism (caching, no clonning, etc)
- Write docs
- Website
- Useful text materials, guides, presentations
- Tests, tests, tests...
- Score explainer / interpreter

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "greyjack",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "\"Egor Chnegov (CameleoGrey)\" <cameleogrey@yandex.ru>",
    "keywords": "greyjack, solver, optimization, polars, metaheuristic, genetic algorithm",
    "author": null,
    "author_email": "\"Egor Chnegov (CameleoGrey)\" <cameleogrey@yandex.ru>",
    "download_url": "https://files.pythonhosted.org/packages/e9/1f/5190df41c16c7f31da8a39b8bd125ab29d8288b3089aaa9864b240b1b818/greyjack-0.1.4.tar.gz",
    "platform": null,
    "description": "\n# Preview\n\n![](logos/greyjack-python-long-logo.png)\n\n_In optimum we trust._\n\nGreyJack Solver is a \"jack of all trades\" constraint metaheuristic solver for Python, built on the robust foundations of Rust and Polars. It empowers you to tackle a wide array of constraint optimization problems, including continuous, integer, and mixed-integer challenges with ease and efficiency.\n\n# Editions\n\nThere are 2 editions of GreyJack Solver:\n\n- Python edition\n- [Rust edition](https://github.com/CameleoGrey/greyjack-solver-rust)\n\n# Key Features of GreyJack Solver\n\n- **Unmatched Comfort, Expressiveness, Flexibility and speed of developing** Designed to express almost any optimization problem with maximum comfortability and clarity.\n- **Universality** Supports a wide range of constraint problems, including continuous, integer, and mixed-integer challenges. Additionally, thanks to Polars, you can optimize virtually any process that can be represented as table data.\n- **Python's Comfort Meets Rust's Speed** All computationally intensive parts of the solver are implemented in Rust and seamlessly integrated into Python, offering fast development cycles with production-ready performance for ~95% real-world tasks.\n- **Clarity and Simplicity** GreyJack provides a clear and straightforward approach to designing, implementing, and improving effective solutions for nearly any constraint problem and scenario.\n- **Nearly Linear Horizontal Scaling** The multi-threaded solving process is organized as a collective effort of individual agents (using the island computation model for all algorithms), which share results with neighbors during solving. This approach ensures nearly linear horizontal scaling, enhancing both the quality and speed of solutions (depending on agent settings and the problem at hand).\n- **Support for Population and Local Search Algorithms** GreyJack Solver supports a wide range of metaheuristics, including population-based and local search algorithms, with highly flexible settings. You can easily find, select, and configure the approach that best fits your problem, delivering optimal results.\n- **Easy Integration**  The observer mechanism (see examples) simplifies integration, making it straightforward to incorporate GreyJack Solver into your existing workflows..\n\n# Get started with GreyJack Solver\n\n```\npip install greyjack\n```\n\n- Explore examples. Docs and guides will be later. GreyJack is very intuitively understandable solver (even Rust version).\n- Simply solve your tasks simply.\n\n# Install GreyJack Solver from source\n\n- Be sure that you've installed Rust (rustup) and Python on your machine.\n```\n- (create venv, activate it, cd greyjack-solver-python/greyjack)\npip install maturin\nmaturin develop --release\n```\n-  maturin will build the Rust part, get all Python dependencies (for solver itself, not examples) and install greyjack to your venv\n\n# RoadMap\n\n- API for modelling pure math problems (classic solvers like)\n- Modern variations (modifications) of LSHADE (Differential evolution algorithms often appear in articles as sota approaches)\n- CMA, probably its modern variants, adaptations for tasks with integer and categorical variables (often appears in articles as sota approach)\n- Add more examples: Job-Shop, Pickup&Delivery, some continuous and MIP tasks, scheduling, etc\n- Composite termination criterion (for example: solving limit minutes N AND score not improving M seconds)\n- Multi-level score\n- Custom moves support\n- Try to impove incremental (pseudo-incremental) score calculation mechanism (caching, no clonning, etc)\n- Write docs\n- Website\n- Useful text materials, guides, presentations\n- Tests, tests, tests...\n- Score explainer / interpreter\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "GreyJack Solver is a metaheuristic constraint solver for Python (current version) built on top of Polars. It empowers you to solve a wide range of constraint optimization problems, including continuous, integer, and mixed-integer challenges.",
    "version": "0.1.4",
    "project_urls": {
        "Documentation": "https://github.com/CameleoGrey/greyjack-solver-python",
        "Homepage": "https://github.com/CameleoGrey/greyjack-solver-python",
        "Issues": "https://github.com/CameleoGrey/greyjack-solver-python/issues",
        "Repository": "https://github.com/CameleoGrey/greyjack-solver-python.git"
    },
    "split_keywords": [
        "greyjack",
        " solver",
        " optimization",
        " polars",
        " metaheuristic",
        " genetic algorithm"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4bfe5c3bfffa136b473165f4a33764c0f22867c4c07ea58adb40cd3914e9ac10",
                "md5": "e7e574508a236e649b14317816a5a438",
                "sha256": "d8f6103cee39803034ebea6b86aa4382e0ce07ace345660981f2413604831be2"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e7e574508a236e649b14317816a5a438",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 63392759,
            "upload_time": "2025-03-22T01:02:45",
            "upload_time_iso_8601": "2025-03-22T01:02:45.289181Z",
            "url": "https://files.pythonhosted.org/packages/4b/fe/5c3bfffa136b473165f4a33764c0f22867c4c07ea58adb40cd3914e9ac10/greyjack-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "344b1303f54ec6366a5cf6075614939539dd6e68b85834f97b637500fe902d88",
                "md5": "171a9f1b4e23e5fabaaedcb7608f8ce4",
                "sha256": "79e4e0aed2e79ba51ff38b8bb8caeb0b77d8a7ab7923aadda6bf43ed20654628"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "171a9f1b4e23e5fabaaedcb7608f8ce4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 9205959,
            "upload_time": "2025-03-22T01:03:30",
            "upload_time_iso_8601": "2025-03-22T01:03:30.254988Z",
            "url": "https://files.pythonhosted.org/packages/34/4b/1303f54ec6366a5cf6075614939539dd6e68b85834f97b637500fe902d88/greyjack-0.1.4-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0739d725987b84a7338f082d139feffcf9cace335ee092758e9adac3c06a6454",
                "md5": "bebccb19d093e3ee63a0332272823f4a",
                "sha256": "0dad0995a823e3fc4e61e87cc08101acec8f854ce0573c05d384bf40d4493e5c"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bebccb19d093e3ee63a0332272823f4a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 9172744,
            "upload_time": "2025-03-22T01:03:21",
            "upload_time_iso_8601": "2025-03-22T01:03:21.091302Z",
            "url": "https://files.pythonhosted.org/packages/07/39/d725987b84a7338f082d139feffcf9cace335ee092758e9adac3c06a6454/greyjack-0.1.4-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8fba355c9b825500e5be1c01e7e3887e9120ded8d6d033bb5e52e9114aed6380",
                "md5": "9206842a3eff7ba1b876e28da42661ad",
                "sha256": "284e228788996932200dbafb37a483cf9b2dbf234cda3e319ee147a141a97b06"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "9206842a3eff7ba1b876e28da42661ad",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 8239020,
            "upload_time": "2025-03-22T01:03:16",
            "upload_time_iso_8601": "2025-03-22T01:03:16.098203Z",
            "url": "https://files.pythonhosted.org/packages/8f/ba/355c9b825500e5be1c01e7e3887e9120ded8d6d033bb5e52e9114aed6380/greyjack-0.1.4-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2717dded96b23000f0112ca11aa3227627d2c1960c2ca8f2d7e30835622c8839",
                "md5": "e2edbb5bb1b25c8f75cfcc95a0fd17c8",
                "sha256": "034e8a6881c68149a5e58fa8d7f099b9609f503222eb163c6e0b7e546db975c2"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e2edbb5bb1b25c8f75cfcc95a0fd17c8",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 63392013,
            "upload_time": "2025-03-22T01:02:49",
            "upload_time_iso_8601": "2025-03-22T01:02:49.453885Z",
            "url": "https://files.pythonhosted.org/packages/27/17/dded96b23000f0112ca11aa3227627d2c1960c2ca8f2d7e30835622c8839/greyjack-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "18e235976aca76f76e571cbe23a50fc52a5508d016f34e5005b3e55ac1b1c896",
                "md5": "fed3336a7cf8f1e5bb68cc5338f8f6c0",
                "sha256": "6c5fa345d52059309064e18d9a37572a316123bf0c67aa2bb38d09375bcb4aec"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "fed3336a7cf8f1e5bb68cc5338f8f6c0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 9205672,
            "upload_time": "2025-03-22T01:03:32",
            "upload_time_iso_8601": "2025-03-22T01:03:32.713659Z",
            "url": "https://files.pythonhosted.org/packages/18/e2/35976aca76f76e571cbe23a50fc52a5508d016f34e5005b3e55ac1b1c896/greyjack-0.1.4-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "07c7805f7d28ed93bfc84b36985bebdce7ff367b8d63f9f913a32d2bf6d74802",
                "md5": "041abb765e13bed7222caf2ee46797d9",
                "sha256": "5aacde46bb31c41abf25b4712ab1e444e1e017d1d65d19aa924d3ce19034b09c"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "041abb765e13bed7222caf2ee46797d9",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 9165621,
            "upload_time": "2025-03-22T01:03:23",
            "upload_time_iso_8601": "2025-03-22T01:03:23.224980Z",
            "url": "https://files.pythonhosted.org/packages/07/c7/805f7d28ed93bfc84b36985bebdce7ff367b8d63f9f913a32d2bf6d74802/greyjack-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4cd27bdeeb222cc53c3706afe2c99b2d9e30fb3f9e21933c03e3adac1b5e9958",
                "md5": "ae233c4774307f5e53149e8854043859",
                "sha256": "50f8237dc856b3a10b98677108631ff2c700cfd6e24220723c613ccd7e6bf4f5"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ae233c4774307f5e53149e8854043859",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 8237169,
            "upload_time": "2025-03-22T01:03:17",
            "upload_time_iso_8601": "2025-03-22T01:03:17.878332Z",
            "url": "https://files.pythonhosted.org/packages/4c/d2/7bdeeb222cc53c3706afe2c99b2d9e30fb3f9e21933c03e3adac1b5e9958/greyjack-0.1.4-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "40223e445ba4fb1b987ac5586b0b5975be6ed2064941ca01fa8a6cdab0d355f0",
                "md5": "00c5992ae81c6b53e717f7becdf2bdde",
                "sha256": "c53ac50bc6a188b7995ebe6e526855883efbd676bccbc44faa727e9223e9cfd7"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "00c5992ae81c6b53e717f7becdf2bdde",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 63392966,
            "upload_time": "2025-03-22T01:02:54",
            "upload_time_iso_8601": "2025-03-22T01:02:54.095212Z",
            "url": "https://files.pythonhosted.org/packages/40/22/3e445ba4fb1b987ac5586b0b5975be6ed2064941ca01fa8a6cdab0d355f0/greyjack-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cfbac5849e8e2dd352f09b948cdcf969f481c234884eb93250e987cee6baf76d",
                "md5": "48933922c87db9529af536e95cd7297f",
                "sha256": "bd6d72fd3dbd81c315dae4a035972be511073bf41892a8825d550d07dacdc947"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "48933922c87db9529af536e95cd7297f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 9202340,
            "upload_time": "2025-03-22T01:03:34",
            "upload_time_iso_8601": "2025-03-22T01:03:34.525856Z",
            "url": "https://files.pythonhosted.org/packages/cf/ba/c5849e8e2dd352f09b948cdcf969f481c234884eb93250e987cee6baf76d/greyjack-0.1.4-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4ec60b9363030a056321b020b6931533d9c556a23465ba566956679e3fb040f7",
                "md5": "f4d4980fbaaff919021aff28443a6e42",
                "sha256": "c04981cbc8befad7dda45995aa4cf903698abb15906169f59260ab6f8dc3f2b2"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp313-cp313-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f4d4980fbaaff919021aff28443a6e42",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 9165213,
            "upload_time": "2025-03-22T01:03:27",
            "upload_time_iso_8601": "2025-03-22T01:03:27.215788Z",
            "url": "https://files.pythonhosted.org/packages/4e/c6/0b9363030a056321b020b6931533d9c556a23465ba566956679e3fb040f7/greyjack-0.1.4-cp313-cp313-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0896bff0743c304415767e9b85412e06ea75fdfa7079ccf74b28a637db01312f",
                "md5": "d8ca8b5ee5dd07601b44de347cd2a48f",
                "sha256": "9c2f7d5da7cb043c33bdc530a766b8eca5e34d75c01b742ec8617e109245a9ed"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d8ca8b5ee5dd07601b44de347cd2a48f",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 8236726,
            "upload_time": "2025-03-22T01:03:19",
            "upload_time_iso_8601": "2025-03-22T01:03:19.464451Z",
            "url": "https://files.pythonhosted.org/packages/08/96/bff0743c304415767e9b85412e06ea75fdfa7079ccf74b28a637db01312f/greyjack-0.1.4-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6ecd0614884dd7acbdf470e52bcb126cae48fae2aeed86ff80053d263a0da476",
                "md5": "c3c5c28c4cb9933cdfc77903bfca95e4",
                "sha256": "05f2171d133062215ad6d1c37a37ee60ea5a192602343cb84efdb96b6ca4067d"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c3c5c28c4cb9933cdfc77903bfca95e4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 63391221,
            "upload_time": "2025-03-22T01:02:58",
            "upload_time_iso_8601": "2025-03-22T01:02:58.623999Z",
            "url": "https://files.pythonhosted.org/packages/6e/cd/0614884dd7acbdf470e52bcb126cae48fae2aeed86ff80053d263a0da476/greyjack-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3bdf08bed233f127513f6831bb457505768088db5b122d28404dc6071c638d6d",
                "md5": "4c7adc82ddf1e099af2e44cc72c13a82",
                "sha256": "3b1d6b71523ad44c56979f92da06be7093ae5d32737db2b96c26133fd9727c7a"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4c7adc82ddf1e099af2e44cc72c13a82",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 9201904,
            "upload_time": "2025-03-22T01:03:36",
            "upload_time_iso_8601": "2025-03-22T01:03:36.826721Z",
            "url": "https://files.pythonhosted.org/packages/3b/df/08bed233f127513f6831bb457505768088db5b122d28404dc6071c638d6d/greyjack-0.1.4-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b27d74866a17838a7e6c9b434b2618f45a2b5a7855784a10ae4280dd00b7c338",
                "md5": "6907929dadc25e060b710ad5559f8b05",
                "sha256": "3934cb4daae3f2ca455353a3340ec6c186a9a575294bca91531afe1baca04e33"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6907929dadc25e060b710ad5559f8b05",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 63394488,
            "upload_time": "2025-03-22T01:03:03",
            "upload_time_iso_8601": "2025-03-22T01:03:03.203927Z",
            "url": "https://files.pythonhosted.org/packages/b2/7d/74866a17838a7e6c9b434b2618f45a2b5a7855784a10ae4280dd00b7c338/greyjack-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "14056739cf2c5c5d57daa5b7836afd5086a9491941b1b62ffec75a4962ee1ac9",
                "md5": "1dff10291702cd3b6f46947dba6113bc",
                "sha256": "ea47f1c8fe53d73bab4654d88963158657419b9240b67855a991bdad8dd66378"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1dff10291702cd3b6f46947dba6113bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 9206530,
            "upload_time": "2025-03-22T01:03:38",
            "upload_time_iso_8601": "2025-03-22T01:03:38.750111Z",
            "url": "https://files.pythonhosted.org/packages/14/05/6739cf2c5c5d57daa5b7836afd5086a9491941b1b62ffec75a4962ee1ac9/greyjack-0.1.4-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "32c560bd8d9538039122c47b5d7750ab6e23c752eeedd496227d3112267903e4",
                "md5": "51b39417f8cccccb92da2f5ca79c2a34",
                "sha256": "7919fa6130467e375cfe69ac84e5231a30018aae224e9ff8992f9512f36958ad"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "51b39417f8cccccb92da2f5ca79c2a34",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.9",
            "size": 63394802,
            "upload_time": "2025-03-22T01:03:07",
            "upload_time_iso_8601": "2025-03-22T01:03:07.509517Z",
            "url": "https://files.pythonhosted.org/packages/32/c5/60bd8d9538039122c47b5d7750ab6e23c752eeedd496227d3112267903e4/greyjack-0.1.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a68cbef664372e4f87c84dcb65ca154c04932b8599327d32c794b1014f477c4c",
                "md5": "a8e579ed5d129ba06f46eeac8e037c13",
                "sha256": "13ca76f0b19013ff1256c2d6a76a5e7ea29ae35a9b6227a90e3667c51ec03ee9"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a8e579ed5d129ba06f46eeac8e037c13",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.9",
            "size": 63390989,
            "upload_time": "2025-03-22T01:03:12",
            "upload_time_iso_8601": "2025-03-22T01:03:12.494858Z",
            "url": "https://files.pythonhosted.org/packages/a6/8c/bef664372e4f87c84dcb65ca154c04932b8599327d32c794b1014f477c4c/greyjack-0.1.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e91f5190df41c16c7f31da8a39b8bd125ab29d8288b3089aaa9864b240b1b818",
                "md5": "129e35519f9de0bc84a549574c573457",
                "sha256": "8d92fbf3d51a125dd6413c622be0d1cd611f6f5fecbf1958b2b611dc482b3ecd"
            },
            "downloads": -1,
            "filename": "greyjack-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "129e35519f9de0bc84a549574c573457",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 79768,
            "upload_time": "2025-03-22T01:03:29",
            "upload_time_iso_8601": "2025-03-22T01:03:29.315851Z",
            "url": "https://files.pythonhosted.org/packages/e9/1f/5190df41c16c7f31da8a39b8bd125ab29d8288b3089aaa9864b240b1b818/greyjack-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-03-22 01:03:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "CameleoGrey",
    "github_project": "greyjack-solver-python",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "greyjack"
}
        
Elapsed time: 1.73297s