From 40a33ecf1374038f782b95654f2e5b7172f71ad3 Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Tue, 4 Nov 2025 19:12:10 -0800 Subject: [PATCH] initial commit --- .gitignore | 2 + .python-version | 1 + LICENSE.md | 595 +++++++++++++++++++++++++++++++++++++ README.md | 18 ++ docs/variability_chart.png | Bin 0 -> 282098 bytes docs/wafermap.png | Bin 0 -> 18022 bytes miscplot/__init__.py | 2 + miscplot/variability.py | 328 ++++++++++++++++++++ miscplot/wmap.py | 91 ++++++ pyproject.toml | 37 +++ uv.lock | 456 ++++++++++++++++++++++++++++ 11 files changed, 1530 insertions(+) create mode 100644 .gitignore create mode 100644 .python-version create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 docs/variability_chart.png create mode 100644 docs/wafermap.png create mode 100644 miscplot/__init__.py create mode 100644 miscplot/variability.py create mode 100644 miscplot/wmap.py create mode 100644 pyproject.toml create mode 100644 uv.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a60b85 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +__pycache__/ +*.pyc diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..175443c --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,595 @@ +GNU General Public License +========================== + +_Version 3, 29 June 2007_ +_Copyright © 2007 Free Software Foundation, Inc. <>_ + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +## Preamble + +The GNU General Public License is a free, copyleft license for software and other +kinds of works. + +The licenses for most software and other practical works are designed to take away +your freedom to share and change the works. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change all versions of a +program--to make sure it remains free software for all its users. We, the Free +Software Foundation, use the GNU General Public License for most of our software; it +applies also to any other work released this way by its authors. You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General +Public Licenses are designed to make sure that you have the freedom to distribute +copies of free software (and charge for them if you wish), that you receive source +code or can get it if you want it, that you can change the software or use pieces of +it in new free programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you these rights or +asking you to surrender the rights. Therefore, you have certain responsibilities if +you distribute copies of the software, or if you modify it: responsibilities to +respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis or for a fee, +you must pass on to the recipients the same freedoms that you received. You must make +sure that they, too, receive or can get the source code. And you must show them these +terms so they know their rights. + +Developers that use the GNU GPL protect your rights with two steps: **(1)** assert +copyright on the software, and **(2)** offer you this License giving you legal permission +to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains that there is +no warranty for this free software. For both users' and authors' sake, the GPL +requires that modified versions be marked as changed, so that their problems will not +be attributed erroneously to authors of previous versions. + +Some devices are designed to deny users access to install or run modified versions of +the software inside them, although the manufacturer can do so. This is fundamentally +incompatible with the aim of protecting users' freedom to change the software. The +systematic pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we have designed +this version of the GPL to prohibit the practice for those products. If such problems +arise substantially in other domains, we stand ready to extend this provision to +those domains in future versions of the GPL, as needed to protect the freedom of +users. + +Finally, every program is threatened constantly by software patents. States should +not allow patents to restrict development and use of software on general-purpose +computers, but in those that do, we wish to avoid the special danger that patents +applied to a free program could make it effectively proprietary. To prevent this, the +GPL assures that patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and modification follow. + +## TERMS AND CONDITIONS + +### 0. Definitions + +“This License” refers to version 3 of the GNU General Public License. + +“Copyright” also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + +“The Program” refers to any copyrightable work licensed under this +License. Each licensee is addressed as “you”. “Licensees” and +“recipients” may be individuals or organizations. + +To “modify” a work means to copy from or adapt all or part of the work in +a fashion requiring copyright permission, other than the making of an exact copy. The +resulting work is called a “modified version” of the earlier work or a +work “based on” the earlier work. + +A “covered work” means either the unmodified Program or a work based on +the Program. + +To “propagate” a work means to do anything with it that, without +permission, would make you directly or secondarily liable for infringement under +applicable copyright law, except executing it on a computer or modifying a private +copy. Propagation includes copying, distribution (with or without modification), +making available to the public, and in some countries other activities as well. + +To “convey” a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through a computer +network, with no transfer of a copy, is not conveying. + +An interactive user interface displays “Appropriate Legal Notices” to the +extent that it includes a convenient and prominently visible feature that **(1)** +displays an appropriate copyright notice, and **(2)** tells the user that there is no +warranty for the work (except to the extent that warranties are provided), that +licensees may convey the work under this License, and how to view a copy of this +License. If the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + +### 1. Source Code + +The “source code” for a work means the preferred form of the work for +making modifications to it. “Object code” means any non-source form of a +work. + +A “Standard Interface” means an interface that either is an official +standard defined by a recognized standards body, or, in the case of interfaces +specified for a particular programming language, one that is widely used among +developers working in that language. + +The “System Libraries” of an executable work include anything, other than +the work as a whole, that **(a)** is included in the normal form of packaging a Major +Component, but which is not part of that Major Component, and **(b)** serves only to +enable use of the work with that Major Component, or to implement a Standard +Interface for which an implementation is available to the public in source code form. +A “Major Component”, in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system (if any) on which +the executable work runs, or a compiler used to produce the work, or an object code +interpreter used to run it. + +The “Corresponding Source” for a work in object code form means all the +source code needed to generate, install, and (for an executable work) run the object +code and to modify the work, including scripts to control those activities. However, +it does not include the work's System Libraries, or general-purpose tools or +generally available free programs which are used unmodified in performing those +activities but which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for the work, and +the source code for shared libraries and dynamically linked subprograms that the work +is specifically designed to require, such as by intimate data communication or +control flow between those subprograms and other parts of the work. + +The Corresponding Source need not include anything that users can regenerate +automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same work. + +### 2. Basic Permissions + +All rights granted under this License are granted for the term of copyright on the +Program, and are irrevocable provided the stated conditions are met. This License +explicitly affirms your unlimited permission to run the unmodified Program. The +output from running a covered work is covered by this License only if the output, +given its content, constitutes a covered work. This License acknowledges your rights +of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not convey, without +conditions so long as your license otherwise remains in force. You may convey covered +works to others for the sole purpose of having them make modifications exclusively +for you, or provide you with facilities for running those works, provided that you +comply with the terms of this License in conveying all material for which you do not +control copyright. Those thus making or running the covered works for you must do so +exclusively on your behalf, under your direction and control, on terms that prohibit +them from making any copies of your copyrighted material outside their relationship +with you. + +Conveying under any other circumstances is permitted solely under the conditions +stated below. Sublicensing is not allowed; section 10 makes it unnecessary. + +### 3. Protecting Users' Legal Rights From Anti-Circumvention Law + +No covered work shall be deemed part of an effective technological measure under any +applicable law fulfilling obligations under article 11 of the WIPO copyright treaty +adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention +of such measures. + +When you convey a covered work, you waive any legal power to forbid circumvention of +technological measures to the extent such circumvention is effected by exercising +rights under this License with respect to the covered work, and you disclaim any +intention to limit operation or modification of the work as a means of enforcing, +against the work's users, your or third parties' legal rights to forbid circumvention +of technological measures. + +### 4. Conveying Verbatim Copies + +You may convey verbatim copies of the Program's source code as you receive it, in any +medium, provided that you conspicuously and appropriately publish on each copy an +appropriate copyright notice; keep intact all notices stating that this License and +any non-permissive terms added in accord with section 7 apply to the code; keep +intact all notices of the absence of any warranty; and give all recipients a copy of +this License along with the Program. + +You may charge any price or no price for each copy that you convey, and you may offer +support or warranty protection for a fee. + +### 5. Conveying Modified Source Versions + +You may convey a work based on the Program, or the modifications to produce it from +the Program, in the form of source code under the terms of section 4, provided that +you also meet all of these conditions: + +* **a)** The work must carry prominent notices stating that you modified it, and giving a +relevant date. +* **b)** The work must carry prominent notices stating that it is released under this +License and any conditions added under section 7. This requirement modifies the +requirement in section 4 to “keep intact all notices”. +* **c)** You must license the entire work, as a whole, under this License to anyone who +comes into possession of a copy. This License will therefore apply, along with any +applicable section 7 additional terms, to the whole of the work, and all its parts, +regardless of how they are packaged. This License gives no permission to license the +work in any other way, but it does not invalidate such permission if you have +separately received it. +* **d)** If the work has interactive user interfaces, each must display Appropriate Legal +Notices; however, if the Program has interactive interfaces that do not display +Appropriate Legal Notices, your work need not make them do so. + +A compilation of a covered work with other separate and independent works, which are +not by their nature extensions of the covered work, and which are not combined with +it such as to form a larger program, in or on a volume of a storage or distribution +medium, is called an “aggregate” if the compilation and its resulting +copyright are not used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work in an aggregate +does not cause this License to apply to the other parts of the aggregate. + +### 6. Conveying Non-Source Forms + +You may convey a covered work in object code form under the terms of sections 4 and +5, provided that you also convey the machine-readable Corresponding Source under the +terms of this License, in one of these ways: + +* **a)** Convey the object code in, or embodied in, a physical product (including a +physical distribution medium), accompanied by the Corresponding Source fixed on a +durable physical medium customarily used for software interchange. +* **b)** Convey the object code in, or embodied in, a physical product (including a +physical distribution medium), accompanied by a written offer, valid for at least +three years and valid for as long as you offer spare parts or customer support for +that product model, to give anyone who possesses the object code either **(1)** a copy of +the Corresponding Source for all the software in the product that is covered by this +License, on a durable physical medium customarily used for software interchange, for +a price no more than your reasonable cost of physically performing this conveying of +source, or **(2)** access to copy the Corresponding Source from a network server at no +charge. +* **c)** Convey individual copies of the object code with a copy of the written offer to +provide the Corresponding Source. This alternative is allowed only occasionally and +noncommercially, and only if you received the object code with such an offer, in +accord with subsection 6b. +* **d)** Convey the object code by offering access from a designated place (gratis or for +a charge), and offer equivalent access to the Corresponding Source in the same way +through the same place at no further charge. You need not require recipients to copy +the Corresponding Source along with the object code. If the place to copy the object +code is a network server, the Corresponding Source may be on a different server +(operated by you or a third party) that supports equivalent copying facilities, +provided you maintain clear directions next to the object code saying where to find +the Corresponding Source. Regardless of what server hosts the Corresponding Source, +you remain obligated to ensure that it is available for as long as needed to satisfy +these requirements. +* **e)** Convey the object code using peer-to-peer transmission, provided you inform +other peers where the object code and Corresponding Source of the work are being +offered to the general public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded from the +Corresponding Source as a System Library, need not be included in conveying the +object code work. + +A “User Product” is either **(1)** a “consumer product”, which +means any tangible personal property which is normally used for personal, family, or +household purposes, or **(2)** anything designed or sold for incorporation into a +dwelling. In determining whether a product is a consumer product, doubtful cases +shall be resolved in favor of coverage. For a particular product received by a +particular user, “normally used” refers to a typical or common use of +that class of product, regardless of the status of the particular user or of the way +in which the particular user actually uses, or expects or is expected to use, the +product. A product is a consumer product regardless of whether the product has +substantial commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + +“Installation Information” for a User Product means any methods, +procedures, authorization keys, or other information required to install and execute +modified versions of a covered work in that User Product from a modified version of +its Corresponding Source. The information must suffice to ensure that the continued +functioning of the modified object code is in no case prevented or interfered with +solely because modification has been made. + +If you convey an object code work under this section in, or with, or specifically for +use in, a User Product, and the conveying occurs as part of a transaction in which +the right of possession and use of the User Product is transferred to the recipient +in perpetuity or for a fixed term (regardless of how the transaction is +characterized), the Corresponding Source conveyed under this section must be +accompanied by the Installation Information. But this requirement does not apply if +neither you nor any third party retains the ability to install modified object code +on the User Product (for example, the work has been installed in ROM). + +The requirement to provide Installation Information does not include a requirement to +continue to provide support service, warranty, or updates for a work that has been +modified or installed by the recipient, or for the User Product in which it has been +modified or installed. Access to a network may be denied when the modification itself +materially and adversely affects the operation of the network or violates the rules +and protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, in accord with +this section must be in a format that is publicly documented (and with an +implementation available to the public in source code form), and must require no +special password or key for unpacking, reading or copying. + +### 7. Additional Terms + +“Additional permissions” are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. Additional +permissions that are applicable to the entire Program shall be treated as though they +were included in this License, to the extent that they are valid under applicable +law. If additional permissions apply only to part of the Program, that part may be +used separately under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove any +additional permissions from that copy, or from any part of it. (Additional +permissions may be written to require their own removal in certain cases when you +modify the work.) You may place additional permissions on material, added by you to a +covered work, for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you add to a +covered work, you may (if authorized by the copyright holders of that material) +supplement the terms of this License with terms: + +* **a)** Disclaiming warranty or limiting liability differently from the terms of +sections 15 and 16 of this License; or +* **b)** Requiring preservation of specified reasonable legal notices or author +attributions in that material or in the Appropriate Legal Notices displayed by works +containing it; or +* **c)** Prohibiting misrepresentation of the origin of that material, or requiring that +modified versions of such material be marked in reasonable ways as different from the +original version; or +* **d)** Limiting the use for publicity purposes of names of licensors or authors of the +material; or +* **e)** Declining to grant rights under trademark law for use of some trade names, +trademarks, or service marks; or +* **f)** Requiring indemnification of licensors and authors of that material by anyone +who conveys the material (or modified versions of it) with contractual assumptions of +liability to the recipient, for any liability that these contractual assumptions +directly impose on those licensors and authors. + +All other non-permissive additional terms are considered “further +restrictions” within the meaning of section 10. If the Program as you received +it, or any part of it, contains a notice stating that it is governed by this License +along with a term that is a further restriction, you may remove that term. If a +license document contains a further restriction but permits relicensing or conveying +under this License, you may add to a covered work material governed by the terms of +that license document, provided that the further restriction does not survive such +relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, in +the relevant source files, a statement of the additional terms that apply to those +files, or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form of a +separately written license, or stated as exceptions; the above requirements apply +either way. + +### 8. Termination + +You may not propagate or modify a covered work except as expressly provided under +this License. Any attempt otherwise to propagate or modify it is void, and will +automatically terminate your rights under this License (including any patent licenses +granted under the third paragraph of section 11). + +However, if you cease all violation of this License, then your license from a +particular copyright holder is reinstated **(a)** provisionally, unless and until the +copyright holder explicitly and finally terminates your license, and **(b)** permanently, +if the copyright holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated permanently +if the copyright holder notifies you of the violation by some reasonable means, this +is the first time you have received notice of violation of this License (for any +work) from that copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the licenses of +parties who have received copies or rights from you under this License. If your +rights have been terminated and not permanently reinstated, you do not qualify to +receive new licenses for the same material under section 10. + +### 9. Acceptance Not Required for Having Copies + +You are not required to accept this License in order to receive or run a copy of the +Program. Ancillary propagation of a covered work occurring solely as a consequence of +using peer-to-peer transmission to receive a copy likewise does not require +acceptance. However, nothing other than this License grants you permission to +propagate or modify any covered work. These actions infringe copyright if you do not +accept this License. Therefore, by modifying or propagating a covered work, you +indicate your acceptance of this License to do so. + +### 10. Automatic Licensing of Downstream Recipients + +Each time you convey a covered work, the recipient automatically receives a license +from the original licensors, to run, modify and propagate that work, subject to this +License. You are not responsible for enforcing compliance by third parties with this +License. + +An “entity transaction” is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an organization, or +merging organizations. If propagation of a covered work results from an entity +transaction, each party to that transaction who receives a copy of the work also +receives whatever licenses to the work the party's predecessor in interest had or +could give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if the predecessor +has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights granted or +affirmed under this License. For example, you may not impose a license fee, royalty, +or other charge for exercise of rights granted under this License, and you may not +initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging +that any patent claim is infringed by making, using, selling, offering for sale, or +importing the Program or any portion of it. + +### 11. Patents + +A “contributor” is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The work thus +licensed is called the contributor's “contributor version”. + +A contributor's “essential patent claims” are all patent claims owned or +controlled by the contributor, whether already acquired or hereafter acquired, that +would be infringed by some manner, permitted by this License, of making, using, or +selling its contributor version, but do not include claims that would be infringed +only as a consequence of further modification of the contributor version. For +purposes of this definition, “control” includes the right to grant patent +sublicenses in a manner consistent with the requirements of this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent license +under the contributor's essential patent claims, to make, use, sell, offer for sale, +import and otherwise run, modify and propagate the contents of its contributor +version. + +In the following three paragraphs, a “patent license” is any express +agreement or commitment, however denominated, not to enforce a patent (such as an +express permission to practice a patent or covenant not to sue for patent +infringement). To “grant” such a patent license to a party means to make +such an agreement or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the +Corresponding Source of the work is not available for anyone to copy, free of charge +and under the terms of this License, through a publicly available network server or +other readily accessible means, then you must either **(1)** cause the Corresponding +Source to be so available, or **(2)** arrange to deprive yourself of the benefit of the +patent license for this particular work, or **(3)** arrange, in a manner consistent with +the requirements of this License, to extend the patent license to downstream +recipients. “Knowingly relying” means you have actual knowledge that, but +for the patent license, your conveying the covered work in a country, or your +recipient's use of the covered work in a country, would infringe one or more +identifiable patents in that country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, you +convey, or propagate by procuring conveyance of, a covered work, and grant a patent +license to some of the parties receiving the covered work authorizing them to use, +propagate, modify or convey a specific copy of the covered work, then the patent +license you grant is automatically extended to all recipients of the covered work and +works based on it. + +A patent license is “discriminatory” if it does not include within the +scope of its coverage, prohibits the exercise of, or is conditioned on the +non-exercise of one or more of the rights that are specifically granted under this +License. You may not convey a covered work if you are a party to an arrangement with +a third party that is in the business of distributing software, under which you make +payment to the third party based on the extent of your activity of conveying the +work, and under which the third party grants, to any of the parties who would receive +the covered work from you, a discriminatory patent license **(a)** in connection with +copies of the covered work conveyed by you (or copies made from those copies), or **(b)** +primarily for and in connection with specific products or compilations that contain +the covered work, unless you entered into that arrangement, or that patent license +was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied +license or other defenses to infringement that may otherwise be available to you +under applicable patent law. + +### 12. No Surrender of Others' Freedom + +If conditions are imposed on you (whether by court order, agreement or otherwise) +that contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot convey a covered work so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not convey it at all. For example, if you +agree to terms that obligate you to collect a royalty for further conveying from +those to whom you convey the Program, the only way you could satisfy both those terms +and this License would be to refrain entirely from conveying the Program. + +### 13. Use with the GNU Affero General Public License + +Notwithstanding any other provision of this License, you have permission to link or +combine any covered work with a work licensed under version 3 of the GNU Affero +General Public License into a single combined work, and to convey the resulting work. +The terms of this License will continue to apply to the part which is the covered +work, but the special requirements of the GNU Affero General Public License, section +13, concerning interaction through a network will apply to the combination as such. + +### 14. Revised Versions of this License + +The Free Software Foundation may publish revised and/or new versions of the GNU +General Public License from time to time. Such new versions will be similar in spirit +to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies that +a certain numbered version of the GNU General Public License “or any later +version” applies to it, you have the option of following the terms and +conditions either of that numbered version or of any later version published by the +Free Software Foundation. If the Program does not specify a version number of the GNU +General Public License, you may choose any version ever published by the Free +Software Foundation. + +If the Program specifies that a proxy can decide which future versions of the GNU +General Public License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the Program. + +Later license versions may give you additional or different permissions. However, no +additional obligations are imposed on any author or copyright holder as a result of +your choosing to follow a later version. + +### 15. Disclaimer of Warranty + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER +EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE +QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +### 16. Limitation of Liability + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY +COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS +PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE +OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE +WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +### 17. Interpretation of Sections 15 and 16 + +If the disclaimer of warranty and limitation of liability provided above cannot be +given local legal effect according to their terms, reviewing courts shall apply local +law that most closely approximates an absolute waiver of all civil liability in +connection with the Program, unless a warranty or assumption of liability accompanies +a copy of the Program in return for a fee. + +_END OF TERMS AND CONDITIONS_ + +## How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to +the public, the best way to achieve this is to make it free software which everyone +can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach them +to the start of each source file to most effectively state the exclusion of warranty; +and each file should have at least the “copyright” line and a pointer to +where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short notice like this +when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type 'show c' for details. + +The hypothetical commands `show w` and `show c` should show the appropriate parts of +the General Public License. Of course, your program's commands might be different; +for a GUI interface, you would use an “about box”. + +You should also get your employer (if you work as a programmer) or school, if any, to +sign a “copyright disclaimer” for the program, if necessary. For more +information on this, and how to apply and follow the GNU GPL, see +<>. + +The GNU General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may consider it +more useful to permit linking proprietary applications with the library. If this is +what you want to do, use the GNU Lesser General Public License instead of this +License. But first, please read +<>. diff --git a/README.md b/README.md new file mode 100644 index 0000000..4749cb4 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +# miscplot + +Miscellaneous plots with non-obvious matplotlib implementations. + + +## Variability chart + +![Hierarchical variability chart](docs/variability_chart.png) + +Scatter- and box-plots organized based on hierarchical labels. + + +## Wafer map + +![pcolor with binned shading](docs/wafermap.png) + +Tiled map with uniform per-tile color. + diff --git a/docs/variability_chart.png b/docs/variability_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..72cfb554ccb2f1267d985117c67942b73f896df8 GIT binary patch literal 282098 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�!?qkE$Ec$bEUwIDS4Mp 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�FMe{L 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 literal 0 HcmV?d00001 diff --git a/docs/wafermap.png b/docs/wafermap.png new file mode 100644 index 0000000000000000000000000000000000000000..23df2b89ac5e5cc5136cc726bd983b59abef13af GIT binary patch literal 18022 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 str: + kwargs.setdefault('width', 15) + intxt = text.replace('_', '-') + wrapped = textwrap.fill(intxt, **kwargs) + return wrapped.replace('-', '_') + + +def variability_plot( + data_table: 'dict | Sequence | NDArray | polars.Series | pandas.DataFrame', + data_col: str, + groups: Sequence[str], + vert_groups: Sequence[str] = (), + *, + wrap_fn: Callable[[str], str] = twrap, + mainplot_ratios: tuple[float, float] = (10, 10), + ylim: tuple[float, float] | None = None, + dotprops: dict[str, Any] | bool = True, + boxprops: dict[str, Any] | bool = True, + meanprops: dict[str, Any] | bool = True, + ) -> tuple[Figure, Axes, list[Axes], list[Axes]]: + """ + Create a variability plot (categorical box & scatter plot) + + Args: + data_table: Dataset to plot. Passed directly to `polars.DataFrame()`. + data_col: Column to use for box/scatterplot value. + groups: Columns to group by. Coarsest grouping should be first, and will appear + furthest from the scatterplot, at the bottom of the figure. + vert_groups: Labels for these column names will be rotated (text will run vertically). + wrap_fn: Function called to wrap label text (i.e. insert newlines). + Default wraps at 15 characters, preferentially on underscores or whitespace. + mainplot_ratios: Scale factors setting the size of the main axes, relative to the size + of other axes. Default is (10, 10). + ylim: Y-limits for the scatter/box plot. Points which fall outside the limits are drawn + as red triangles at the edges. + dotprops: Passed as kwargs to scatterplot. + boxprops: Passed as kwargs to boxplot. + meanprops: Passed as kwargs to lineplot of means. + + Returns: + figure, data axes, label axes, header axes + """ + vert_groups = set(vert_groups) + + df = polars.DataFrame(data_table) +# zero_bad: bool = True, +# if zero_bad: +# df.filter(col(data_col) != 0) + + df = df.sort(groups) + df_groups = df.select(groups).unique(maintain_order=True).with_row_index(name='x_pos') + df = df.join(df_groups, on=groups, maintain_order='left') + max_group_length = df.group_by(groups).len().select('len').max()[0, 0] + + label_stack = get_label_stack(df_groups, groups, wrap_fn) + size_lists = get_text_sizes(label_stack) + + jitter = 0.2 + rng = numpy.random.default_rng(seed=0) + jitter_offsets = rng.uniform(low=-jitter, high=jitter, size=max_group_length) + + x_lists = [] + y_lists = [] + for _labels, gdf in df.group_by(groups, maintain_order=True): + x_lists.append(gdf['x_pos'][0] + jitter_offsets[:gdf.height]) + y_lists.append(gdf[data_col]) + num_dsets = len(x_lists) + x_data = numpy.concatenate(x_lists) + y_data = numpy.concatenate(y_lists) + + + y_ratios = [mainplot_ratios[1]] + get_label_y_ratios(groups, vert_groups, size_lists) + + fig = pyplot.figure() + gs = gridspec.GridSpec( + nrows = 1 + len(groups), + ncols = 2, + height_ratios = y_ratios, + width_ratios = [mainplot_ratios[0], 1], + hspace = 0, + wspace = 0.05, + #left = 0.07, + right = 0.98, + ) + + ax = fig.add_subplot(gs[0, 0]) + label_axes = [] + header_axes = [] + for ii in range(1, len(groups) + 1): + label_axes.append( fig.add_subplot(gs[ii, 0], sharex=ax)) + header_axes.append(fig.add_subplot(gs[ii, 1])) + + if dotprops: + if not isinstance(dotprops, dict): + dotprops = {} + dotprops.setdefault('alpha', 0.7) + dotprops.setdefault('color', 'black') + _dotplt = ax.scatter(x_data, y_data, s=numpy.ones_like(y_data), **dotprops) + if boxprops: + if not isinstance(boxprops, dict): + boxprops = {} + boxprops.setdefault('showfliers', False) + boxprops.setdefault('medianprops', dict(linewidth=3, color='darkred', alpha=0.8)) + boxprops.setdefault('boxprops', dict(linewidth=0.5, color='black')) + _boxplt = ax.boxplot(y_lists, positions=range(num_dsets), **boxprops) + if meanprops: + means = [yl.mean() for yl in y_lists] + xy = [(-0.5, means[0])] + for xx, yy in enumerate(means): + xy += [(xx - 0.25, yy), + (xx + 0.25, yy)] + xy += [(xx + 0.5, yy)] + xy = numpy.array(xy) + + if not isinstance(meanprops, dict): + meanprops = {} + meanprops.setdefault('color', 'blue') + meanprops.setdefault('alpha', 0.8) + meanprops.setdefault('linewidth', 0.5) + _meanplt = ax.plot(xy[:, 0], xy[:, 1], **meanprops) + + + #for xd, yd in zip(x_lists, y_lists, zip=True): + # plt = ax.scatter(xd, yd, s=numpy.ones_like(yd), color='black', alpha=0.9) + # if boxplot: + # boxplt = ax.boxplot( + + if ylim is not None: + mask_dn = y_data < ylim[0] + mask_up = y_data > ylim[1] + if mask_dn.any(): + ax.scatter(x_data[mask_dn], numpy.full(mask_dn.sum(), ylim[0]), color='red', marker='v') + if mask_up.any(): + ax.scatter(x_data[mask_up], numpy.full(mask_up.sum(), ylim[1]), color='red', marker='^') + + max_x_pos = num_dsets - 1 + major_xticks = [] + minor_xticks = [] + textobjs = [] + headerobjs = [] + for ll, level in enumerate(groups): + axl = label_axes[-1 - ll] + axh = header_axes[-1 - ll] + axl.axis('off') + axh.axis('off') + header_txt = axh.text(0, 0.5, level, ha='left', va='center', fontsize=10, weight='bold') + headerobjs.append((axh, header_txt)) + + textrefs = dict(axes=[], texts=[], span_fracs=[]) + for (xmin, xmax, text_value), (xsize, twidth, theight) in zip(label_stack[ll], size_lists[ll], strict=True): + text_obj = axl.text( + 0.5 * (xmin + xmax), 0.5, text_value, + ha = 'center', va = 'center', + fontsize = 10, + rotation = (90 if level in vert_groups else 0), + clip_on = True, + ) + + textrefs['axes'].append(axl) + textrefs['texts'].append(text_obj) + textrefs['span_fracs'].append(xsize / num_dsets) + + if xmax < max_x_pos: + maxpt = xmax + 0.5 + axl.axvline(maxpt, color='gray', linestyle=':', linewidth=0.5) + if ll == len(groups) - 2: + major_xticks.append(maxpt) + elif ll ==len(groups) - 1: + minor_xticks.append(maxpt) + else: + axl.axline(xy1=(xmin, 0), slope=0, color='gray', linewidth=0.5) + axl.axline(xy1=(xmin, 1), slope=0, color='gray', linewidth=0.5, alpha=0.5) + axl.set_ylim(0, 1) + + textobjs.append(textrefs) + + ax.set_xlim(-0.5, num_dsets - 0.5) + if ylim is not None: + ax.set_ylim(ylim) + ax.set_xticks(major_xticks, minor=False) + ax.set_xticks(minor_xticks, minor=True) + ax.set_xticklabels([], minor=False) + ax.set_xticklabels([], minor=True) + ax.tick_params('x', which='both', bottom=False) + ax.grid(alpha=0.2, which='minor') + ax.grid(alpha=1, which='major') + ax.set_ylabel(data_col) + ax.set_title(data_col) + + def resize_labels(event) -> None: + # Resize labels + margin_frac = 0.9 + max_fontsize = 12 + for level in textobjs: + ax_sizes = numpy.array([[abox.width, abox.height] for abox in [axl.get_window_extent() for axl in level['axes']]]) + tx_sizes = numpy.array([[tbox.width, tbox.height] for tbox in [txt.get_window_extent() for txt in level['texts']]]) + cur_fontsize = level['texts'][0].get_fontsize() + ax_sizes[:, 0] *= level['span_fracs'] + + scales = margin_frac * ax_sizes / tx_sizes + tgt_fontsize = min(cur_fontsize * scales.min(), max_fontsize) + for txt in level['texts']: + txt.set_fontsize(tgt_fontsize) + fig.canvas.draw_idle() + + def resize_headers(event) -> None: + # Resize headers + margin_frac = 0.9 + max_fontsize = 12 + hax_sizes = numpy.array([[abox.width, abox.height] for abox in [axh.get_window_extent() for axh, _ in headerobjs]]) + htx_sizes = numpy.array([[tbox.width, tbox.height] for tbox in [txh.get_window_extent() for _, txh in headerobjs]]) + cur_fontsize = headerobjs[0][1].get_fontsize() + scales = margin_frac * hax_sizes / htx_sizes + tgt_fontsize = min(cur_fontsize * scales.min(), max_fontsize) + for _, txt in headerobjs: + txt.set_fontsize(tgt_fontsize) + fig.canvas.draw_idle() + + fig.canvas.mpl_connect('resize_event', debounce(resize_labels)) + fig.canvas.mpl_connect('resize_event', debounce(resize_headers)) + return fig, ax, label_axes, header_axes + + + +label_stack_t = list[list[tuple[int, int, str]]] + +def debounce(func: Callable, delay_s: float = 0.05) -> Callable: + timer = None + def debounced_func(*args, **kwargs) -> None: + nonlocal timer + if timer is not None: + timer.cancel() + timer = threading.Timer(delay_s, lambda: func(*args, **kwargs)) + timer.start() + return debounced_func + + +def get_text_sizes(label_stack: label_stack_t) -> list[NDArray[numpy.float64]]: + fig, ax = pyplot.subplots() + text_obj = ax.text(0, 0, 'placeholder') + renderer = fig.canvas.get_renderer() + + size_lists = [] + for ll, level in enumerate(label_stack): + sizes = [] + for xmin, xmax, text_value in level: + text_obj.set_text(text_value) + tbox = text_obj.get_window_extent(renderer=renderer) + sizes.append((xmax - xmin + 1, tbox.width, tbox.height)) + size_lists.append(numpy.array(sizes)) + pyplot.close(fig) + return size_lists + + +def get_label_stack(df_groups: polars.DataFrame, groups: Sequence[str], wrap_fn: Callable) -> label_stack_t: + label_stack = [] + for ll, level in enumerate(groups): + spans = df_groups.group_by(groups[:ll + 1], maintain_order=True).agg( + xmin = col('x_pos').min(), + xmax = col('x_pos').max(), + ).with_columns( + xspan = col('xmax') - col('xmin') + 1, + ) + + label_row = [] + for row in spans.to_dicts(): + # df row is plot column + text_value = wrap_fn(str(row[level])) + label_row.append((row['xmin'], row['xmax'], text_value)) + label_stack.append(label_row) + return label_stack + + +def get_label_y_ratios(groups: Sequence[str], vert_groups: set[str], size_lists: list[NDArray[numpy.float64]]) -> list[float]: + grouping_rotated = numpy.array([grouping in vert_groups for grouping in groups], dtype=bool) + level_dims = [] + for sizes, rotated in zip(size_lists, grouping_rotated, strict=True): + if rotated: + dxy = sizes[:, [2, 1]].copy() + else: + dxy = sizes[:, [1, 2]].copy() + dxy[:, 0] /= sizes[:, 0] + level_dims.append(dxy.max(axis=0)) + scales = numpy.array(level_dims) + ratios = (scales.shape[0] * scales[::-1, 1] / scales[:, 1].sum()).tolist() + return ratios + + +def _mk_data(filename: str) -> None: + """ + Make some dummy data and write it to a csv file + """ + rows = [] + rng = numpy.random.default_rng(seed=0) + for mm in ('liminal', 'transitive', 'extrinsic'): + for dd in ('elevator', 'snare', 'tibetan_foxhole', 'inverse_thresher'): + for vv in (('tiny', 'elective', 'baseline') if '_' in dd else ('dormant', 'volatile')): + std = rng.uniform(low=.1, high=1, size=1) + mean = rng.uniform(low=4, high=6, size=1) + for qq in rng.standard_normal(size=100) * std + mean: + rows.append(dict(MeasurementType=mm, Device=dd, DeviceVariant=vv, MeasuredValue=qq)) + df = polars.DataFrame(rows) + df.write_csv() + + +if __name__ == '__main__': + filename = 'dummy_data.csv' + _mk_data(filename) + df = polars.read_csv(filename) + variability_plot(df, 'MeasuredValue', ['MeasurementType', 'Device', 'DeviceVariant'], vert_groups=['DeviceVariant'], ylim=(3, 7)) + + pyplot.show(block=True) diff --git a/miscplot/wmap.py b/miscplot/wmap.py new file mode 100644 index 0000000..d371812 --- /dev/null +++ b/miscplot/wmap.py @@ -0,0 +1,91 @@ +from typing import Any, Callable + +from PyQt6 import QtCore + +from matplotlib.figure import Figure +from matplotlib.axes import Axes +from matplotlib import pyplot +import numpy +from numpy.typing import ArrayLike + + +def wafermap( + xyz: ArrayLike, + pcoloropts: dict[str, Any] | None = None, + zlabel: str = '', + xy2sn: Callable[[int, int], str] | None = None, + aspect_ratio: float = 1, + ) -> tuple[Figure, Axes]: + """ + Wafer map plot + + This is effectively a pcolor plot which does a clearer job showing that data may come + from anywhere within a tile, and correctly shows missing data. + + """ + fig, ax = pyplot.subplots() + + xs = numpy.arange(numpy.floor(xyz[:, 0].min()) - 1, numpy.floor(xyz[:, 0].max()) + 2.5, 1.0) + ys = numpy.arange(numpy.floor(xyz[:, 1].min()) - 1, numpy.floor(xyz[:, 1].max()) + 2.5, 1.0) + zs = numpy.full((xs.size, ys.size), numpy.nan) + + xi = numpy.digitize(xyz[:, 0], xs, right=True) + yi = numpy.digitize(xyz[:, 1], ys, right=True) + + zs[xi, yi] = xyz[:, 2] + xx, yy = numpy.meshgrid(xs, ys, indexing='ij') + + if pcoloropts is None: + pcoloropts = {} + pcoloropts.setdefault('shading', 'nearest') + pcoloropts.setdefault('edgecolors', 'lightgray') + pcoloropts.setdefault('cmap', 'inferno') + mappable = ax.pcolor(xx * aspect_ratio, yy, zs, **pcoloropts) + + cb = fig.colorbar(mappable, label=zlabel) + ax.grid(alpha=0.3) + ax.set_axisbelow(True) + + if xy2sn is not None: + for xii, yii in numpy.unique((xi, yi), axis=1).T: + label = xy2sn(xii, yii) + tp = TextPath((xii, yii), label, size=0.2 * aspect_ratio) + bbox = tp.get_extents() + xform = Affine2D.translate(-bbox.width / 2, -bbox.height / 2) + ax.add_patch(PathPatch(xform.transform_path(tp), color='black')) + +# ax.add_patch(pyplot.Circle((0, 0), radius, color='gray', alpha=0.5)) + + ax.set_aspect('equal', adjustable='box') + return fig, ax + + +def example() -> None: + rng = numpy.random.default_rng(0) + ar = 0.5 + ny = 10 + x = numpy.arange(ny / ar, dtype=float) + y = numpy.arange(ny, dtype=float) + x -= x.mean() + y -= y.mean() + xx, yy = numpy.meshgrid(x, y, indexing='ij') + z = numpy.sqrt((xx * ar) **2 + yy ** 2).ravel() + rng.normal(4, 1, x.size * y.size) + + xyz = numpy.transpose((xx.ravel(), yy.ravel(), z)) + mask = ((xyz[:, 0] * ar) ** 2 + xyz[:, 1] ** 2) < (ny / 2) ** 2 + xyz = xyz[mask, :] + + inds = rng.choice(xyz.shape[0], int(xyz.shape[0] * 19 / 20)) + xyz = xyz[inds, :] + + #fig, ax = pyplot.subplots() + #ax.tripcolor(xyz[:, 0], xyz[:, 1], xyz[:, 2]) + #pyplot.show(block=True) + + wafermap(xyz, aspect_ratio=ar, zlabel='radial badness') + + pyplot.show(block=True) + + +if __name__ == '__main__': + example() diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..3d4701a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,37 @@ +[project] +name = "miscplot" +version = "0.1.0" +description = "Miscellaneous plots" +readme = "README.md" +license = { file = "LICENSE.md" } +authors = [ + { name="Jan Petykiewicz", email="jan@mpxd.net" }, + ] +homepage = "https://mpxd.net/code/jan/miscplot" +repository = "https://mpxd.net/code/jan/miscplot" +requires-python = ">=3.13" +dependencies = [ + "matplotlib>=3.10.7", + "numpy>=2.3.4", + "polars>=1.35.1", +] +include = [ + "LICENSE.md" + ] +dynamic = ["version"] + + +[dependency-groups] +dev = [ + "pyqt6>=6.10.0", +] + + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + + +[tool.hatch.version] +path = "klamath/__init__.py" + diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..91a96ce --- /dev/null +++ b/uv.lock @@ -0,0 +1,456 @@ +version = 1 +requires-python = ">=3.13" + +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257 }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034 }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672 }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234 }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169 }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859 }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062 }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932 }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024 }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578 }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524 }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730 }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897 }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751 }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486 }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106 }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548 }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297 }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023 }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157 }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570 }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713 }, + { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189 }, + { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251 }, + { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810 }, + { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871 }, + { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264 }, + { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819 }, + { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650 }, + { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833 }, + { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692 }, + { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424 }, + { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300 }, + { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769 }, + { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892 }, + { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748 }, + { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554 }, + { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118 }, + { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555 }, + { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295 }, + { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027 }, + { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428 }, + { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331 }, + { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831 }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 }, +] + +[[package]] +name = "fonttools" +version = "4.60.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4b/42/97a13e47a1e51a5a7142475bbcf5107fe3a68fc34aef331c897d5fb98ad0/fonttools-4.60.1.tar.gz", hash = "sha256:ef00af0439ebfee806b25f24c8f92109157ff3fac5731dc7867957812e87b8d9", size = 3559823 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/5b/cdd2c612277b7ac7ec8c0c9bc41812c43dc7b2d5f2b0897e15fdf5a1f915/fonttools-4.60.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f68576bb4bbf6060c7ab047b1574a1ebe5c50a17de62830079967b211059ebb", size = 2825777 }, + { url = "https://files.pythonhosted.org/packages/d6/8a/de9cc0540f542963ba5e8f3a1f6ad48fa211badc3177783b9d5cadf79b5d/fonttools-4.60.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:eedacb5c5d22b7097482fa834bda0dafa3d914a4e829ec83cdea2a01f8c813c4", size = 2348080 }, + { url = "https://files.pythonhosted.org/packages/2d/8b/371ab3cec97ee3fe1126b3406b7abd60c8fec8975fd79a3c75cdea0c3d83/fonttools-4.60.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b33a7884fabd72bdf5f910d0cf46be50dce86a0362a65cfc746a4168c67eb96c", size = 4903082 }, + { url = "https://files.pythonhosted.org/packages/04/05/06b1455e4bc653fcb2117ac3ef5fa3a8a14919b93c60742d04440605d058/fonttools-4.60.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2409d5fb7b55fd70f715e6d34e7a6e4f7511b8ad29a49d6df225ee76da76dd77", size = 4960125 }, + { url = "https://files.pythonhosted.org/packages/8e/37/f3b840fcb2666f6cb97038793606bdd83488dca2d0b0fc542ccc20afa668/fonttools-4.60.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c8651e0d4b3bdeda6602b85fdc2abbefc1b41e573ecb37b6779c4ca50753a199", size = 4901454 }, + { url = "https://files.pythonhosted.org/packages/fd/9e/eb76f77e82f8d4a46420aadff12cec6237751b0fb9ef1de373186dcffb5f/fonttools-4.60.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:145daa14bf24824b677b9357c5e44fd8895c2a8f53596e1b9ea3496081dc692c", size = 5044495 }, + { url = "https://files.pythonhosted.org/packages/f8/b3/cede8f8235d42ff7ae891bae8d619d02c8ac9fd0cfc450c5927a6200c70d/fonttools-4.60.1-cp313-cp313-win32.whl", hash = "sha256:2299df884c11162617a66b7c316957d74a18e3758c0274762d2cc87df7bc0272", size = 2217028 }, + { url = "https://files.pythonhosted.org/packages/75/4d/b022c1577807ce8b31ffe055306ec13a866f2337ecee96e75b24b9b753ea/fonttools-4.60.1-cp313-cp313-win_amd64.whl", hash = "sha256:a3db56f153bd4c5c2b619ab02c5db5192e222150ce5a1bc10f16164714bc39ac", size = 2266200 }, + { url = "https://files.pythonhosted.org/packages/9a/83/752ca11c1aa9a899b793a130f2e466b79ea0cf7279c8d79c178fc954a07b/fonttools-4.60.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:a884aef09d45ba1206712c7dbda5829562d3fea7726935d3289d343232ecb0d3", size = 2822830 }, + { url = "https://files.pythonhosted.org/packages/57/17/bbeab391100331950a96ce55cfbbff27d781c1b85ebafb4167eae50d9fe3/fonttools-4.60.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8a44788d9d91df72d1a5eac49b31aeb887a5f4aab761b4cffc4196c74907ea85", size = 2345524 }, + { url = "https://files.pythonhosted.org/packages/3d/2e/d4831caa96d85a84dd0da1d9f90d81cec081f551e0ea216df684092c6c97/fonttools-4.60.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e852d9dda9f93ad3651ae1e3bb770eac544ec93c3807888798eccddf84596537", size = 4843490 }, + { url = "https://files.pythonhosted.org/packages/49/13/5e2ea7c7a101b6fc3941be65307ef8df92cbbfa6ec4804032baf1893b434/fonttools-4.60.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:154cb6ee417e417bf5f7c42fe25858c9140c26f647c7347c06f0cc2d47eff003", size = 4944184 }, + { url = "https://files.pythonhosted.org/packages/0c/2b/cf9603551c525b73fc47c52ee0b82a891579a93d9651ed694e4e2cd08bb8/fonttools-4.60.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:5664fd1a9ea7f244487ac8f10340c4e37664675e8667d6fee420766e0fb3cf08", size = 4890218 }, + { url = "https://files.pythonhosted.org/packages/fd/2f/933d2352422e25f2376aae74f79eaa882a50fb3bfef3c0d4f50501267101/fonttools-4.60.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:583b7f8e3c49486e4d489ad1deacfb8d5be54a8ef34d6df824f6a171f8511d99", size = 4999324 }, + { url = "https://files.pythonhosted.org/packages/38/99/234594c0391221f66216bc2c886923513b3399a148defaccf81dc3be6560/fonttools-4.60.1-cp314-cp314-win32.whl", hash = "sha256:66929e2ea2810c6533a5184f938502cfdaea4bc3efb7130d8cc02e1c1b4108d6", size = 2220861 }, + { url = "https://files.pythonhosted.org/packages/3e/1d/edb5b23726dde50fc4068e1493e4fc7658eeefcaf75d4c5ffce067d07ae5/fonttools-4.60.1-cp314-cp314-win_amd64.whl", hash = "sha256:f3d5be054c461d6a2268831f04091dc82753176f6ea06dc6047a5e168265a987", size = 2270934 }, + { url = "https://files.pythonhosted.org/packages/fb/da/1392aaa2170adc7071fe7f9cfd181a5684a7afcde605aebddf1fb4d76df5/fonttools-4.60.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:b6379e7546ba4ae4b18f8ae2b9bc5960936007a1c0e30b342f662577e8bc3299", size = 2894340 }, + { url = "https://files.pythonhosted.org/packages/bf/a7/3b9f16e010d536ce567058b931a20b590d8f3177b2eda09edd92e392375d/fonttools-4.60.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9d0ced62b59e0430b3690dbc5373df1c2aa7585e9a8ce38eff87f0fd993c5b01", size = 2375073 }, + { url = "https://files.pythonhosted.org/packages/9b/b5/e9bcf51980f98e59bb5bb7c382a63c6f6cac0eec5f67de6d8f2322382065/fonttools-4.60.1-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:875cb7764708b3132637f6c5fb385b16eeba0f7ac9fa45a69d35e09b47045801", size = 4849758 }, + { url = "https://files.pythonhosted.org/packages/e3/dc/1d2cf7d1cba82264b2f8385db3f5960e3d8ce756b4dc65b700d2c496f7e9/fonttools-4.60.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a184b2ea57b13680ab6d5fbde99ccef152c95c06746cb7718c583abd8f945ccc", size = 5085598 }, + { url = "https://files.pythonhosted.org/packages/5d/4d/279e28ba87fb20e0c69baf72b60bbf1c4d873af1476806a7b5f2b7fac1ff/fonttools-4.60.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:026290e4ec76583881763fac284aca67365e0be9f13a7fb137257096114cb3bc", size = 4957603 }, + { url = "https://files.pythonhosted.org/packages/78/d4/ff19976305e0c05aa3340c805475abb00224c954d3c65e82c0a69633d55d/fonttools-4.60.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f0e8817c7d1a0c2eedebf57ef9a9896f3ea23324769a9a2061a80fe8852705ed", size = 4974184 }, + { url = "https://files.pythonhosted.org/packages/63/22/8553ff6166f5cd21cfaa115aaacaa0dc73b91c079a8cfd54a482cbc0f4f5/fonttools-4.60.1-cp314-cp314t-win32.whl", hash = "sha256:1410155d0e764a4615774e5c2c6fc516259fe3eca5882f034eb9bfdbee056259", size = 2282241 }, + { url = "https://files.pythonhosted.org/packages/8a/cb/fa7b4d148e11d5a72761a22e595344133e83a9507a4c231df972e657579b/fonttools-4.60.1-cp314-cp314t-win_amd64.whl", hash = "sha256:022beaea4b73a70295b688f817ddc24ed3e3418b5036ffcd5658141184ef0d0c", size = 2345760 }, + { url = "https://files.pythonhosted.org/packages/c7/93/0dd45cd283c32dea1545151d8c3637b4b8c53cdb3a625aeb2885b184d74d/fonttools-4.60.1-py3-none-any.whl", hash = "sha256:906306ac7afe2156fcf0042173d6ebbb05416af70f6b370967b47f8f00103bbb", size = 1143175 }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5c/3c/85844f1b0feb11ee581ac23fe5fce65cd049a200c1446708cc1b7f922875/kiwisolver-1.4.9.tar.gz", hash = "sha256:c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d", size = 97564 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/c1/c2686cda909742ab66c7388e9a1a8521a59eb89f8bcfbee28fc980d07e24/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5d0432ccf1c7ab14f9949eec60c5d1f924f17c037e9f8b33352fa05799359b8", size = 123681 }, + { url = "https://files.pythonhosted.org/packages/ca/f0/f44f50c9f5b1a1860261092e3bc91ecdc9acda848a8b8c6abfda4a24dd5c/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efb3a45b35622bb6c16dbfab491a8f5a391fe0e9d45ef32f4df85658232ca0e2", size = 66464 }, + { url = "https://files.pythonhosted.org/packages/2d/7a/9d90a151f558e29c3936b8a47ac770235f436f2120aca41a6d5f3d62ae8d/kiwisolver-1.4.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a12cf6398e8a0a001a059747a1cbf24705e18fe413bc22de7b3d15c67cffe3f", size = 64961 }, + { url = "https://files.pythonhosted.org/packages/e9/e9/f218a2cb3a9ffbe324ca29a9e399fa2d2866d7f348ec3a88df87fc248fc5/kiwisolver-1.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b67e6efbf68e077dd71d1a6b37e43e1a99d0bff1a3d51867d45ee8908b931098", size = 1474607 }, + { url = "https://files.pythonhosted.org/packages/d9/28/aac26d4c882f14de59041636292bc838db8961373825df23b8eeb807e198/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5656aa670507437af0207645273ccdfee4f14bacd7f7c67a4306d0dcaeaf6eed", size = 1276546 }, + { url = "https://files.pythonhosted.org/packages/8b/ad/8bfc1c93d4cc565e5069162f610ba2f48ff39b7de4b5b8d93f69f30c4bed/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bfc08add558155345129c7803b3671cf195e6a56e7a12f3dde7c57d9b417f525", size = 1294482 }, + { url = "https://files.pythonhosted.org/packages/da/f1/6aca55ff798901d8ce403206d00e033191f63d82dd708a186e0ed2067e9c/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:40092754720b174e6ccf9e845d0d8c7d8e12c3d71e7fc35f55f3813e96376f78", size = 1343720 }, + { url = "https://files.pythonhosted.org/packages/d1/91/eed031876c595c81d90d0f6fc681ece250e14bf6998c3d7c419466b523b7/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:497d05f29a1300d14e02e6441cf0f5ee81c1ff5a304b0d9fb77423974684e08b", size = 2224907 }, + { url = "https://files.pythonhosted.org/packages/e9/ec/4d1925f2e49617b9cca9c34bfa11adefad49d00db038e692a559454dfb2e/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdd1a81a1860476eb41ac4bc1e07b3f07259e6d55bbf739b79c8aaedcf512799", size = 2321334 }, + { url = "https://files.pythonhosted.org/packages/43/cb/450cd4499356f68802750c6ddc18647b8ea01ffa28f50d20598e0befe6e9/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e6b93f13371d341afee3be9f7c5964e3fe61d5fa30f6a30eb49856935dfe4fc3", size = 2488313 }, + { url = "https://files.pythonhosted.org/packages/71/67/fc76242bd99f885651128a5d4fa6083e5524694b7c88b489b1b55fdc491d/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d75aa530ccfaa593da12834b86a0724f58bff12706659baa9227c2ccaa06264c", size = 2291970 }, + { url = "https://files.pythonhosted.org/packages/75/bd/f1a5d894000941739f2ae1b65a32892349423ad49c2e6d0771d0bad3fae4/kiwisolver-1.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:dd0a578400839256df88c16abddf9ba14813ec5f21362e1fe65022e00c883d4d", size = 73894 }, + { url = "https://files.pythonhosted.org/packages/95/38/dce480814d25b99a391abbddadc78f7c117c6da34be68ca8b02d5848b424/kiwisolver-1.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:d4188e73af84ca82468f09cadc5ac4db578109e52acb4518d8154698d3a87ca2", size = 64995 }, + { url = "https://files.pythonhosted.org/packages/e2/37/7d218ce5d92dadc5ebdd9070d903e0c7cf7edfe03f179433ac4d13ce659c/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5a0f2724dfd4e3b3ac5a82436a8e6fd16baa7d507117e4279b660fe8ca38a3a1", size = 126510 }, + { url = "https://files.pythonhosted.org/packages/23/b0/e85a2b48233daef4b648fb657ebbb6f8367696a2d9548a00b4ee0eb67803/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b11d6a633e4ed84fc0ddafd4ebfd8ea49b3f25082c04ad12b8315c11d504dc1", size = 67903 }, + { url = "https://files.pythonhosted.org/packages/44/98/f2425bc0113ad7de24da6bb4dae1343476e95e1d738be7c04d31a5d037fd/kiwisolver-1.4.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61874cdb0a36016354853593cffc38e56fc9ca5aa97d2c05d3dcf6922cd55a11", size = 66402 }, + { url = "https://files.pythonhosted.org/packages/98/d8/594657886df9f34c4177cc353cc28ca7e6e5eb562d37ccc233bff43bbe2a/kiwisolver-1.4.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:60c439763a969a6af93b4881db0eed8fadf93ee98e18cbc35bc8da868d0c4f0c", size = 1582135 }, + { url = "https://files.pythonhosted.org/packages/5c/c6/38a115b7170f8b306fc929e166340c24958347308ea3012c2b44e7e295db/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92a2f997387a1b79a75e7803aa7ded2cfbe2823852ccf1ba3bcf613b62ae3197", size = 1389409 }, + { url = "https://files.pythonhosted.org/packages/bf/3b/e04883dace81f24a568bcee6eb3001da4ba05114afa622ec9b6fafdc1f5e/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31d512c812daea6d8b3be3b2bfcbeb091dbb09177706569bcfc6240dcf8b41c", size = 1401763 }, + { url = "https://files.pythonhosted.org/packages/9f/80/20ace48e33408947af49d7d15c341eaee69e4e0304aab4b7660e234d6288/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:52a15b0f35dad39862d376df10c5230155243a2c1a436e39eb55623ccbd68185", size = 1453643 }, + { url = "https://files.pythonhosted.org/packages/64/31/6ce4380a4cd1f515bdda976a1e90e547ccd47b67a1546d63884463c92ca9/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a30fd6fdef1430fd9e1ba7b3398b5ee4e2887783917a687d86ba69985fb08748", size = 2330818 }, + { url = "https://files.pythonhosted.org/packages/fa/e9/3f3fcba3bcc7432c795b82646306e822f3fd74df0ee81f0fa067a1f95668/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cc9617b46837c6468197b5945e196ee9ca43057bb7d9d1ae688101e4e1dddf64", size = 2419963 }, + { url = "https://files.pythonhosted.org/packages/99/43/7320c50e4133575c66e9f7dadead35ab22d7c012a3b09bb35647792b2a6d/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:0ab74e19f6a2b027ea4f845a78827969af45ce790e6cb3e1ebab71bdf9f215ff", size = 2594639 }, + { url = "https://files.pythonhosted.org/packages/65/d6/17ae4a270d4a987ef8a385b906d2bdfc9fce502d6dc0d3aea865b47f548c/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dba5ee5d3981160c28d5490f0d1b7ed730c22470ff7f6cc26cfcfaacb9896a07", size = 2391741 }, + { url = "https://files.pythonhosted.org/packages/2a/8f/8f6f491d595a9e5912971f3f863d81baddccc8a4d0c3749d6a0dd9ffc9df/kiwisolver-1.4.9-cp313-cp313t-win_arm64.whl", hash = "sha256:0749fd8f4218ad2e851e11cc4dc05c7cbc0cbc4267bdfdb31782e65aace4ee9c", size = 68646 }, + { url = "https://files.pythonhosted.org/packages/6b/32/6cc0fbc9c54d06c2969faa9c1d29f5751a2e51809dd55c69055e62d9b426/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:9928fe1eb816d11ae170885a74d074f57af3a0d65777ca47e9aeb854a1fba386", size = 123806 }, + { url = "https://files.pythonhosted.org/packages/b2/dd/2bfb1d4a4823d92e8cbb420fe024b8d2167f72079b3bb941207c42570bdf/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d0005b053977e7b43388ddec89fa567f43d4f6d5c2c0affe57de5ebf290dc552", size = 66605 }, + { url = "https://files.pythonhosted.org/packages/f7/69/00aafdb4e4509c2ca6064646cba9cd4b37933898f426756adb2cb92ebbed/kiwisolver-1.4.9-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2635d352d67458b66fd0667c14cb1d4145e9560d503219034a18a87e971ce4f3", size = 64925 }, + { url = "https://files.pythonhosted.org/packages/43/dc/51acc6791aa14e5cb6d8a2e28cefb0dc2886d8862795449d021334c0df20/kiwisolver-1.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:767c23ad1c58c9e827b649a9ab7809fd5fd9db266a9cf02b0e926ddc2c680d58", size = 1472414 }, + { url = "https://files.pythonhosted.org/packages/3d/bb/93fa64a81db304ac8a246f834d5094fae4b13baf53c839d6bb6e81177129/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72d0eb9fba308b8311685c2268cf7d0a0639a6cd027d8128659f72bdd8a024b4", size = 1281272 }, + { url = "https://files.pythonhosted.org/packages/70/e6/6df102916960fb8d05069d4bd92d6d9a8202d5a3e2444494e7cd50f65b7a/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f68e4f3eeca8fb22cc3d731f9715a13b652795ef657a13df1ad0c7dc0e9731df", size = 1298578 }, + { url = "https://files.pythonhosted.org/packages/7c/47/e142aaa612f5343736b087864dbaebc53ea8831453fb47e7521fa8658f30/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d84cd4061ae292d8ac367b2c3fa3aad11cb8625a95d135fe93f286f914f3f5a6", size = 1345607 }, + { url = "https://files.pythonhosted.org/packages/54/89/d641a746194a0f4d1a3670fb900d0dbaa786fb98341056814bc3f058fa52/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a60ea74330b91bd22a29638940d115df9dc00af5035a9a2a6ad9399ffb4ceca5", size = 2230150 }, + { url = "https://files.pythonhosted.org/packages/aa/6b/5ee1207198febdf16ac11f78c5ae40861b809cbe0e6d2a8d5b0b3044b199/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ce6a3a4e106cf35c2d9c4fa17c05ce0b180db622736845d4315519397a77beaf", size = 2325979 }, + { url = "https://files.pythonhosted.org/packages/fc/ff/b269eefd90f4ae14dcc74973d5a0f6d28d3b9bb1afd8c0340513afe6b39a/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:77937e5e2a38a7b48eef0585114fe7930346993a88060d0bf886086d2aa49ef5", size = 2491456 }, + { url = "https://files.pythonhosted.org/packages/fc/d4/10303190bd4d30de547534601e259a4fbf014eed94aae3e5521129215086/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:24c175051354f4a28c5d6a31c93906dc653e2bf234e8a4bbfb964892078898ce", size = 2294621 }, + { url = "https://files.pythonhosted.org/packages/28/e0/a9a90416fce5c0be25742729c2ea52105d62eda6c4be4d803c2a7be1fa50/kiwisolver-1.4.9-cp314-cp314-win_amd64.whl", hash = "sha256:0763515d4df10edf6d06a3c19734e2566368980d21ebec439f33f9eb936c07b7", size = 75417 }, + { url = "https://files.pythonhosted.org/packages/1f/10/6949958215b7a9a264299a7db195564e87900f709db9245e4ebdd3c70779/kiwisolver-1.4.9-cp314-cp314-win_arm64.whl", hash = "sha256:0e4e2bf29574a6a7b7f6cb5fa69293b9f96c928949ac4a53ba3f525dffb87f9c", size = 66582 }, + { url = "https://files.pythonhosted.org/packages/ec/79/60e53067903d3bc5469b369fe0dfc6b3482e2133e85dae9daa9527535991/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d976bbb382b202f71c67f77b0ac11244021cfa3f7dfd9e562eefcea2df711548", size = 126514 }, + { url = "https://files.pythonhosted.org/packages/25/d1/4843d3e8d46b072c12a38c97c57fab4608d36e13fe47d47ee96b4d61ba6f/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2489e4e5d7ef9a1c300a5e0196e43d9c739f066ef23270607d45aba368b91f2d", size = 67905 }, + { url = "https://files.pythonhosted.org/packages/8c/ae/29ffcbd239aea8b93108de1278271ae764dfc0d803a5693914975f200596/kiwisolver-1.4.9-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e2ea9f7ab7fbf18fffb1b5434ce7c69a07582f7acc7717720f1d69f3e806f90c", size = 66399 }, + { url = "https://files.pythonhosted.org/packages/a1/ae/d7ba902aa604152c2ceba5d352d7b62106bedbccc8e95c3934d94472bfa3/kiwisolver-1.4.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b34e51affded8faee0dfdb705416153819d8ea9250bbbf7ea1b249bdeb5f1122", size = 1582197 }, + { url = "https://files.pythonhosted.org/packages/f2/41/27c70d427eddb8bc7e4f16420a20fefc6f480312122a59a959fdfe0445ad/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8aacd3d4b33b772542b2e01beb50187536967b514b00003bdda7589722d2a64", size = 1390125 }, + { url = "https://files.pythonhosted.org/packages/41/42/b3799a12bafc76d962ad69083f8b43b12bf4fe78b097b12e105d75c9b8f1/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7cf974dd4e35fa315563ac99d6287a1024e4dc2077b8a7d7cd3d2fb65d283134", size = 1402612 }, + { url = "https://files.pythonhosted.org/packages/d2/b5/a210ea073ea1cfaca1bb5c55a62307d8252f531beb364e18aa1e0888b5a0/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:85bd218b5ecfbee8c8a82e121802dcb519a86044c9c3b2e4aef02fa05c6da370", size = 1453990 }, + { url = "https://files.pythonhosted.org/packages/5f/ce/a829eb8c033e977d7ea03ed32fb3c1781b4fa0433fbadfff29e39c676f32/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0856e241c2d3df4efef7c04a1e46b1936b6120c9bcf36dd216e3acd84bc4fb21", size = 2331601 }, + { url = "https://files.pythonhosted.org/packages/e0/4b/b5e97eb142eb9cd0072dacfcdcd31b1c66dc7352b0f7c7255d339c0edf00/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9af39d6551f97d31a4deebeac6f45b156f9755ddc59c07b402c148f5dbb6482a", size = 2422041 }, + { url = "https://files.pythonhosted.org/packages/40/be/8eb4cd53e1b85ba4edc3a9321666f12b83113a178845593307a3e7891f44/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:bb4ae2b57fc1d8cbd1cf7b1d9913803681ffa903e7488012be5b76dedf49297f", size = 2594897 }, + { url = "https://files.pythonhosted.org/packages/99/dd/841e9a66c4715477ea0abc78da039832fbb09dac5c35c58dc4c41a407b8a/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:aedff62918805fb62d43a4aa2ecd4482c380dc76cd31bd7c8878588a61bd0369", size = 2391835 }, + { url = "https://files.pythonhosted.org/packages/0c/28/4b2e5c47a0da96896fdfdb006340ade064afa1e63675d01ea5ac222b6d52/kiwisolver-1.4.9-cp314-cp314t-win_amd64.whl", hash = "sha256:1fa333e8b2ce4d9660f2cda9c0e1b6bafcfb2457a9d259faa82289e73ec24891", size = 79988 }, + { url = "https://files.pythonhosted.org/packages/80/be/3578e8afd18c88cdf9cb4cffde75a96d2be38c5a903f1ed0ceec061bd09e/kiwisolver-1.4.9-cp314-cp314t-win_arm64.whl", hash = "sha256:4a48a2ce79d65d363597ef7b567ce3d14d68783d2b2263d98db3d9477805ba32", size = 70260 }, +] + +[[package]] +name = "matplotlib" +version = "3.10.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy" }, + { name = "cycler" }, + { name = "fonttools" }, + { name = "kiwisolver" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "pillow" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/e2/d2d5295be2f44c678ebaf3544ba32d20c1f9ef08c49fe47f496180e1db15/matplotlib-3.10.7.tar.gz", hash = "sha256:a06ba7e2a2ef9131c79c49e63dad355d2d878413a0376c1727c8b9335ff731c7", size = 34804865 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/9c/207547916a02c78f6bdd83448d9b21afbc42f6379ed887ecf610984f3b4e/matplotlib-3.10.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1d9d3713a237970569156cfb4de7533b7c4eacdd61789726f444f96a0d28f57f", size = 8273212 }, + { url = "https://files.pythonhosted.org/packages/bc/d0/b3d3338d467d3fc937f0bb7f256711395cae6f78e22cef0656159950adf0/matplotlib-3.10.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:37a1fea41153dd6ee061d21ab69c9cf2cf543160b1b85d89cd3d2e2a7902ca4c", size = 8128713 }, + { url = "https://files.pythonhosted.org/packages/22/ff/6425bf5c20d79aa5b959d1ce9e65f599632345391381c9a104133fe0b171/matplotlib-3.10.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b3c4ea4948d93c9c29dc01c0c23eef66f2101bf75158c291b88de6525c55c3d1", size = 8698527 }, + { url = "https://files.pythonhosted.org/packages/d0/7f/ccdca06f4c2e6c7989270ed7829b8679466682f4cfc0f8c9986241c023b6/matplotlib-3.10.7-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22df30ffaa89f6643206cf13877191c63a50e8f800b038bc39bee9d2d4957632", size = 9529690 }, + { url = "https://files.pythonhosted.org/packages/b8/95/b80fc2c1f269f21ff3d193ca697358e24408c33ce2b106a7438a45407b63/matplotlib-3.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b69676845a0a66f9da30e87f48be36734d6748024b525ec4710be40194282c84", size = 9593732 }, + { url = "https://files.pythonhosted.org/packages/e1/b6/23064a96308b9aeceeffa65e96bcde459a2ea4934d311dee20afde7407a0/matplotlib-3.10.7-cp313-cp313-win_amd64.whl", hash = "sha256:744991e0cc863dd669c8dc9136ca4e6e0082be2070b9d793cbd64bec872a6815", size = 8122727 }, + { url = "https://files.pythonhosted.org/packages/b3/a6/2faaf48133b82cf3607759027f82b5c702aa99cdfcefb7f93d6ccf26a424/matplotlib-3.10.7-cp313-cp313-win_arm64.whl", hash = "sha256:fba2974df0bf8ce3c995fa84b79cde38326e0f7b5409e7a3a481c1141340bcf7", size = 7992958 }, + { url = "https://files.pythonhosted.org/packages/4a/f0/b018fed0b599bd48d84c08794cb242227fe3341952da102ee9d9682db574/matplotlib-3.10.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:932c55d1fa7af4423422cb6a492a31cbcbdbe68fd1a9a3f545aa5e7a143b5355", size = 8316849 }, + { url = "https://files.pythonhosted.org/packages/b0/b7/bb4f23856197659f275e11a2a164e36e65e9b48ea3e93c4ec25b4f163198/matplotlib-3.10.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e38c2d581d62ee729a6e144c47a71b3f42fb4187508dbbf4fe71d5612c3433b", size = 8178225 }, + { url = "https://files.pythonhosted.org/packages/62/56/0600609893ff277e6f3ab3c0cef4eafa6e61006c058e84286c467223d4d5/matplotlib-3.10.7-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:786656bb13c237bbcebcd402f65f44dd61ead60ee3deb045af429d889c8dbc67", size = 8711708 }, + { url = "https://files.pythonhosted.org/packages/d8/1a/6bfecb0cafe94d6658f2f1af22c43b76cf7a1c2f0dc34ef84cbb6809617e/matplotlib-3.10.7-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09d7945a70ea43bf9248f4b6582734c2fe726723204a76eca233f24cffc7ef67", size = 9541409 }, + { url = "https://files.pythonhosted.org/packages/08/50/95122a407d7f2e446fd865e2388a232a23f2b81934960ea802f3171518e4/matplotlib-3.10.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d0b181e9fa8daf1d9f2d4c547527b167cb8838fc587deabca7b5c01f97199e84", size = 9594054 }, + { url = "https://files.pythonhosted.org/packages/13/76/75b194a43b81583478a81e78a07da8d9ca6ddf50dd0a2ccabf258059481d/matplotlib-3.10.7-cp313-cp313t-win_amd64.whl", hash = "sha256:31963603041634ce1a96053047b40961f7a29eb8f9a62e80cc2c0427aa1d22a2", size = 8200100 }, + { url = "https://files.pythonhosted.org/packages/f5/9e/6aefebdc9f8235c12bdeeda44cc0383d89c1e41da2c400caf3ee2073a3ce/matplotlib-3.10.7-cp313-cp313t-win_arm64.whl", hash = "sha256:aebed7b50aa6ac698c90f60f854b47e48cd2252b30510e7a1feddaf5a3f72cbf", size = 8042131 }, + { url = "https://files.pythonhosted.org/packages/0d/4b/e5bc2c321b6a7e3a75638d937d19ea267c34bd5a90e12bee76c4d7c7a0d9/matplotlib-3.10.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d883460c43e8c6b173fef244a2341f7f7c0e9725c7fe68306e8e44ed9c8fb100", size = 8273787 }, + { url = "https://files.pythonhosted.org/packages/86/ad/6efae459c56c2fbc404da154e13e3a6039129f3c942b0152624f1c621f05/matplotlib-3.10.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:07124afcf7a6504eafcb8ce94091c5898bbdd351519a1beb5c45f7a38c67e77f", size = 8131348 }, + { url = "https://files.pythonhosted.org/packages/a6/5a/a4284d2958dee4116359cc05d7e19c057e64ece1b4ac986ab0f2f4d52d5a/matplotlib-3.10.7-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c17398b709a6cce3d9fdb1595c33e356d91c098cd9486cb2cc21ea2ea418e715", size = 9533949 }, + { url = "https://files.pythonhosted.org/packages/de/ff/f3781b5057fa3786623ad8976fc9f7b0d02b2f28534751fd5a44240de4cf/matplotlib-3.10.7-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7146d64f561498764561e9cd0ed64fcf582e570fc519e6f521e2d0cfd43365e1", size = 9804247 }, + { url = "https://files.pythonhosted.org/packages/47/5a/993a59facb8444efb0e197bf55f545ee449902dcee86a4dfc580c3b61314/matplotlib-3.10.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:90ad854c0a435da3104c01e2c6f0028d7e719b690998a2333d7218db80950722", size = 9595497 }, + { url = "https://files.pythonhosted.org/packages/0d/a5/77c95aaa9bb32c345cbb49626ad8eb15550cba2e6d4c88081a6c2ac7b08d/matplotlib-3.10.7-cp314-cp314-win_amd64.whl", hash = "sha256:4645fc5d9d20ffa3a39361fcdbcec731382763b623b72627806bf251b6388866", size = 8252732 }, + { url = "https://files.pythonhosted.org/packages/74/04/45d269b4268d222390d7817dae77b159651909669a34ee9fdee336db5883/matplotlib-3.10.7-cp314-cp314-win_arm64.whl", hash = "sha256:9257be2f2a03415f9105c486d304a321168e61ad450f6153d77c69504ad764bb", size = 8124240 }, + { url = "https://files.pythonhosted.org/packages/4b/c7/ca01c607bb827158b439208c153d6f14ddb9fb640768f06f7ca3488ae67b/matplotlib-3.10.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1e4bbad66c177a8fdfa53972e5ef8be72a5f27e6a607cec0d8579abd0f3102b1", size = 8316938 }, + { url = "https://files.pythonhosted.org/packages/84/d2/5539e66e9f56d2fdec94bb8436f5e449683b4e199bcc897c44fbe3c99e28/matplotlib-3.10.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d8eb7194b084b12feb19142262165832fc6ee879b945491d1c3d4660748020c4", size = 8178245 }, + { url = "https://files.pythonhosted.org/packages/77/b5/e6ca22901fd3e4fe433a82e583436dd872f6c966fca7e63cf806b40356f8/matplotlib-3.10.7-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4d41379b05528091f00e1728004f9a8d7191260f3862178b88e8fd770206318", size = 9541411 }, + { url = "https://files.pythonhosted.org/packages/9e/99/a4524db57cad8fee54b7237239a8f8360bfcfa3170d37c9e71c090c0f409/matplotlib-3.10.7-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4a74f79fafb2e177f240579bc83f0b60f82cc47d2f1d260f422a0627207008ca", size = 9803664 }, + { url = "https://files.pythonhosted.org/packages/e6/a5/85e2edf76ea0ad4288d174926d9454ea85f3ce5390cc4e6fab196cbf250b/matplotlib-3.10.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:702590829c30aada1e8cef0568ddbffa77ca747b4d6e36c6d173f66e301f89cc", size = 9594066 }, + { url = "https://files.pythonhosted.org/packages/39/69/9684368a314f6d83fe5c5ad2a4121a3a8e03723d2e5c8ea17b66c1bad0e7/matplotlib-3.10.7-cp314-cp314t-win_amd64.whl", hash = "sha256:f79d5de970fc90cd5591f60053aecfce1fcd736e0303d9f0bf86be649fa68fb8", size = 8342832 }, + { url = "https://files.pythonhosted.org/packages/04/5f/e22e08da14bc1a0894184640d47819d2338b792732e20d292bf86e5ab785/matplotlib-3.10.7-cp314-cp314t-win_arm64.whl", hash = "sha256:cb783436e47fcf82064baca52ce748af71725d0352e1d31564cbe9c95df92b9c", size = 8172585 }, +] + +[[package]] +name = "miscplot" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "matplotlib" }, + { name = "numpy" }, + { name = "polars" }, + { name = "pyqt6" }, +] + +[package.dev-dependencies] +dev = [ + { name = "pyqt6" }, +] + +[package.metadata] +requires-dist = [ + { name = "matplotlib", specifier = ">=3.10.7" }, + { name = "numpy", specifier = ">=2.3.4" }, + { name = "polars", specifier = ">=1.35.1" }, + { name = "pyqt6", specifier = ">=6.10.0" }, +] + +[package.metadata.requires-dev] +dev = [{ name = "pyqt6", specifier = ">=6.10.0" }] + +[[package]] +name = "numpy" +version = "2.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/f4/098d2270d52b41f1bd7db9fc288aaa0400cb48c2a3e2af6fa365d9720947/numpy-2.3.4.tar.gz", hash = "sha256:a7d018bfedb375a8d979ac758b120ba846a7fe764911a64465fd87b8729f4a6a", size = 20582187 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/7e/b72610cc91edf138bc588df5150957a4937221ca6058b825b4725c27be62/numpy-2.3.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c090d4860032b857d94144d1a9976b8e36709e40386db289aaf6672de2a81966", size = 20950335 }, + { url = "https://files.pythonhosted.org/packages/3e/46/bdd3370dcea2f95ef14af79dbf81e6927102ddf1cc54adc0024d61252fd9/numpy-2.3.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a13fc473b6db0be619e45f11f9e81260f7302f8d180c49a22b6e6120022596b3", size = 14179878 }, + { url = "https://files.pythonhosted.org/packages/ac/01/5a67cb785bda60f45415d09c2bc245433f1c68dd82eef9c9002c508b5a65/numpy-2.3.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:3634093d0b428e6c32c3a69b78e554f0cd20ee420dcad5a9f3b2a63762ce4197", size = 5108673 }, + { url = "https://files.pythonhosted.org/packages/c2/cd/8428e23a9fcebd33988f4cb61208fda832800ca03781f471f3727a820704/numpy-2.3.4-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:043885b4f7e6e232d7df4f51ffdef8c36320ee9d5f227b380ea636722c7ed12e", size = 6641438 }, + { url = "https://files.pythonhosted.org/packages/3e/d1/913fe563820f3c6b079f992458f7331278dcd7ba8427e8e745af37ddb44f/numpy-2.3.4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4ee6a571d1e4f0ea6d5f22d6e5fbd6ed1dc2b18542848e1e7301bd190500c9d7", size = 14281290 }, + { url = "https://files.pythonhosted.org/packages/9e/7e/7d306ff7cb143e6d975cfa7eb98a93e73495c4deabb7d1b5ecf09ea0fd69/numpy-2.3.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fc8a63918b04b8571789688b2780ab2b4a33ab44bfe8ccea36d3eba51228c953", size = 16636543 }, + { url = "https://files.pythonhosted.org/packages/47/6a/8cfc486237e56ccfb0db234945552a557ca266f022d281a2f577b98e955c/numpy-2.3.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:40cc556d5abbc54aabe2b1ae287042d7bdb80c08edede19f0c0afb36ae586f37", size = 16056117 }, + { url = "https://files.pythonhosted.org/packages/b1/0e/42cb5e69ea901e06ce24bfcc4b5664a56f950a70efdcf221f30d9615f3f3/numpy-2.3.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ecb63014bb7f4ce653f8be7f1df8cbc6093a5a2811211770f6606cc92b5a78fd", size = 18577788 }, + { url = "https://files.pythonhosted.org/packages/86/92/41c3d5157d3177559ef0a35da50f0cda7fa071f4ba2306dd36818591a5bc/numpy-2.3.4-cp313-cp313-win32.whl", hash = "sha256:e8370eb6925bb8c1c4264fec52b0384b44f675f191df91cbe0140ec9f0955646", size = 6282620 }, + { url = "https://files.pythonhosted.org/packages/09/97/fd421e8bc50766665ad35536c2bb4ef916533ba1fdd053a62d96cc7c8b95/numpy-2.3.4-cp313-cp313-win_amd64.whl", hash = "sha256:56209416e81a7893036eea03abcb91c130643eb14233b2515c90dcac963fe99d", size = 12784672 }, + { url = "https://files.pythonhosted.org/packages/ad/df/5474fb2f74970ca8eb978093969b125a84cc3d30e47f82191f981f13a8a0/numpy-2.3.4-cp313-cp313-win_arm64.whl", hash = "sha256:a700a4031bc0fd6936e78a752eefb79092cecad2599ea9c8039c548bc097f9bc", size = 10196702 }, + { url = "https://files.pythonhosted.org/packages/11/83/66ac031464ec1767ea3ed48ce40f615eb441072945e98693bec0bcd056cc/numpy-2.3.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:86966db35c4040fdca64f0816a1c1dd8dbd027d90fca5a57e00e1ca4cd41b879", size = 21049003 }, + { url = "https://files.pythonhosted.org/packages/5f/99/5b14e0e686e61371659a1d5bebd04596b1d72227ce36eed121bb0aeab798/numpy-2.3.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:838f045478638b26c375ee96ea89464d38428c69170360b23a1a50fa4baa3562", size = 14302980 }, + { url = "https://files.pythonhosted.org/packages/2c/44/e9486649cd087d9fc6920e3fc3ac2aba10838d10804b1e179fb7cbc4e634/numpy-2.3.4-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d7315ed1dab0286adca467377c8381cd748f3dc92235f22a7dfc42745644a96a", size = 5231472 }, + { url = "https://files.pythonhosted.org/packages/3e/51/902b24fa8887e5fe2063fd61b1895a476d0bbf46811ab0c7fdf4bd127345/numpy-2.3.4-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:84f01a4d18b2cc4ade1814a08e5f3c907b079c847051d720fad15ce37aa930b6", size = 6739342 }, + { url = "https://files.pythonhosted.org/packages/34/f1/4de9586d05b1962acdcdb1dc4af6646361a643f8c864cef7c852bf509740/numpy-2.3.4-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:817e719a868f0dacde4abdfc5c1910b301877970195db9ab6a5e2c4bd5b121f7", size = 14354338 }, + { url = "https://files.pythonhosted.org/packages/1f/06/1c16103b425de7969d5a76bdf5ada0804b476fed05d5f9e17b777f1cbefd/numpy-2.3.4-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85e071da78d92a214212cacea81c6da557cab307f2c34b5f85b628e94803f9c0", size = 16702392 }, + { url = "https://files.pythonhosted.org/packages/34/b2/65f4dc1b89b5322093572b6e55161bb42e3e0487067af73627f795cc9d47/numpy-2.3.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2ec646892819370cf3558f518797f16597b4e4669894a2ba712caccc9da53f1f", size = 16134998 }, + { url = "https://files.pythonhosted.org/packages/d4/11/94ec578896cdb973aaf56425d6c7f2aff4186a5c00fac15ff2ec46998b46/numpy-2.3.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:035796aaaddfe2f9664b9a9372f089cfc88bd795a67bd1bfe15e6e770934cf64", size = 18651574 }, + { url = "https://files.pythonhosted.org/packages/62/b7/7efa763ab33dbccf56dade36938a77345ce8e8192d6b39e470ca25ff3cd0/numpy-2.3.4-cp313-cp313t-win32.whl", hash = "sha256:fea80f4f4cf83b54c3a051f2f727870ee51e22f0248d3114b8e755d160b38cfb", size = 6413135 }, + { url = "https://files.pythonhosted.org/packages/43/70/aba4c38e8400abcc2f345e13d972fb36c26409b3e644366db7649015f291/numpy-2.3.4-cp313-cp313t-win_amd64.whl", hash = "sha256:15eea9f306b98e0be91eb344a94c0e630689ef302e10c2ce5f7e11905c704f9c", size = 12928582 }, + { url = "https://files.pythonhosted.org/packages/67/63/871fad5f0073fc00fbbdd7232962ea1ac40eeaae2bba66c76214f7954236/numpy-2.3.4-cp313-cp313t-win_arm64.whl", hash = "sha256:b6c231c9c2fadbae4011ca5e7e83e12dc4a5072f1a1d85a0a7b3ed754d145a40", size = 10266691 }, + { url = "https://files.pythonhosted.org/packages/72/71/ae6170143c115732470ae3a2d01512870dd16e0953f8a6dc89525696069b/numpy-2.3.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:81c3e6d8c97295a7360d367f9f8553973651b76907988bb6066376bc2252f24e", size = 20955580 }, + { url = "https://files.pythonhosted.org/packages/af/39/4be9222ffd6ca8a30eda033d5f753276a9c3426c397bb137d8e19dedd200/numpy-2.3.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7c26b0b2bf58009ed1f38a641f3db4be8d960a417ca96d14e5b06df1506d41ff", size = 14188056 }, + { url = "https://files.pythonhosted.org/packages/6c/3d/d85f6700d0a4aa4f9491030e1021c2b2b7421b2b38d01acd16734a2bfdc7/numpy-2.3.4-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:62b2198c438058a20b6704351b35a1d7db881812d8512d67a69c9de1f18ca05f", size = 5116555 }, + { url = "https://files.pythonhosted.org/packages/bf/04/82c1467d86f47eee8a19a464c92f90a9bb68ccf14a54c5224d7031241ffb/numpy-2.3.4-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:9d729d60f8d53a7361707f4b68a9663c968882dd4f09e0d58c044c8bf5faee7b", size = 6643581 }, + { url = "https://files.pythonhosted.org/packages/0c/d3/c79841741b837e293f48bd7db89d0ac7a4f2503b382b78a790ef1dc778a5/numpy-2.3.4-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd0c630cf256b0a7fd9d0a11c9413b42fef5101219ce6ed5a09624f5a65392c7", size = 14299186 }, + { url = "https://files.pythonhosted.org/packages/e8/7e/4a14a769741fbf237eec5a12a2cbc7a4c4e061852b6533bcb9e9a796c908/numpy-2.3.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5e081bc082825f8b139f9e9fe42942cb4054524598aaeb177ff476cc76d09d2", size = 16638601 }, + { url = "https://files.pythonhosted.org/packages/93/87/1c1de269f002ff0a41173fe01dcc925f4ecff59264cd8f96cf3b60d12c9b/numpy-2.3.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:15fb27364ed84114438fff8aaf998c9e19adbeba08c0b75409f8c452a8692c52", size = 16074219 }, + { url = "https://files.pythonhosted.org/packages/cd/28/18f72ee77408e40a76d691001ae599e712ca2a47ddd2c4f695b16c65f077/numpy-2.3.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:85d9fb2d8cd998c84d13a79a09cc0c1091648e848e4e6249b0ccd7f6b487fa26", size = 18576702 }, + { url = "https://files.pythonhosted.org/packages/c3/76/95650169b465ececa8cf4b2e8f6df255d4bf662775e797ade2025cc51ae6/numpy-2.3.4-cp314-cp314-win32.whl", hash = "sha256:e73d63fd04e3a9d6bc187f5455d81abfad05660b212c8804bf3b407e984cd2bc", size = 6337136 }, + { url = "https://files.pythonhosted.org/packages/dc/89/a231a5c43ede5d6f77ba4a91e915a87dea4aeea76560ba4d2bf185c683f0/numpy-2.3.4-cp314-cp314-win_amd64.whl", hash = "sha256:3da3491cee49cf16157e70f607c03a217ea6647b1cea4819c4f48e53d49139b9", size = 12920542 }, + { url = "https://files.pythonhosted.org/packages/0d/0c/ae9434a888f717c5ed2ff2393b3f344f0ff6f1c793519fa0c540461dc530/numpy-2.3.4-cp314-cp314-win_arm64.whl", hash = "sha256:6d9cd732068e8288dbe2717177320723ccec4fb064123f0caf9bbd90ab5be868", size = 10480213 }, + { url = "https://files.pythonhosted.org/packages/83/4b/c4a5f0841f92536f6b9592694a5b5f68c9ab37b775ff342649eadf9055d3/numpy-2.3.4-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:22758999b256b595cf0b1d102b133bb61866ba5ceecf15f759623b64c020c9ec", size = 21052280 }, + { url = "https://files.pythonhosted.org/packages/3e/80/90308845fc93b984d2cc96d83e2324ce8ad1fd6efea81b324cba4b673854/numpy-2.3.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9cb177bc55b010b19798dc5497d540dea67fd13a8d9e882b2dae71de0cf09eb3", size = 14302930 }, + { url = "https://files.pythonhosted.org/packages/3d/4e/07439f22f2a3b247cec4d63a713faae55e1141a36e77fb212881f7cda3fb/numpy-2.3.4-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0f2bcc76f1e05e5ab58893407c63d90b2029908fa41f9f1cc51eecce936c3365", size = 5231504 }, + { url = "https://files.pythonhosted.org/packages/ab/de/1e11f2547e2fe3d00482b19721855348b94ada8359aef5d40dd57bfae9df/numpy-2.3.4-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:8dc20bde86802df2ed8397a08d793da0ad7a5fd4ea3ac85d757bf5dd4ad7c252", size = 6739405 }, + { url = "https://files.pythonhosted.org/packages/3b/40/8cd57393a26cebe2e923005db5134a946c62fa56a1087dc7c478f3e30837/numpy-2.3.4-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e199c087e2aa71c8f9ce1cb7a8e10677dc12457e7cc1be4798632da37c3e86e", size = 14354866 }, + { url = "https://files.pythonhosted.org/packages/93/39/5b3510f023f96874ee6fea2e40dfa99313a00bf3ab779f3c92978f34aace/numpy-2.3.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85597b2d25ddf655495e2363fe044b0ae999b75bc4d630dc0d886484b03a5eb0", size = 16703296 }, + { url = "https://files.pythonhosted.org/packages/41/0d/19bb163617c8045209c1996c4e427bccbc4bbff1e2c711f39203c8ddbb4a/numpy-2.3.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:04a69abe45b49c5955923cf2c407843d1c85013b424ae8a560bba16c92fe44a0", size = 16136046 }, + { url = "https://files.pythonhosted.org/packages/e2/c1/6dba12fdf68b02a21ac411c9df19afa66bed2540f467150ca64d246b463d/numpy-2.3.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e1708fac43ef8b419c975926ce1eaf793b0c13b7356cfab6ab0dc34c0a02ac0f", size = 18652691 }, + { url = "https://files.pythonhosted.org/packages/f8/73/f85056701dbbbb910c51d846c58d29fd46b30eecd2b6ba760fc8b8a1641b/numpy-2.3.4-cp314-cp314t-win32.whl", hash = "sha256:863e3b5f4d9915aaf1b8ec79ae560ad21f0b8d5e3adc31e73126491bb86dee1d", size = 6485782 }, + { url = "https://files.pythonhosted.org/packages/17/90/28fa6f9865181cb817c2471ee65678afa8a7e2a1fb16141473d5fa6bacc3/numpy-2.3.4-cp314-cp314t-win_amd64.whl", hash = "sha256:962064de37b9aef801d33bc579690f8bfe6c5e70e29b61783f60bcba838a14d6", size = 13113301 }, + { url = "https://files.pythonhosted.org/packages/54/23/08c002201a8e7e1f9afba93b97deceb813252d9cfd0d3351caed123dcf97/numpy-2.3.4-cp314-cp314t-win_arm64.whl", hash = "sha256:8b5a9a39c45d852b62693d9b3f3e0fe052541f804296ff401a72a1b60edafb29", size = 10547532 }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469 }, +] + +[[package]] +name = "pillow" +version = "12.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/cace85a1b0c9775a9f8f5d5423c8261c858760e2466c79b2dd184638b056/pillow-12.0.0.tar.gz", hash = "sha256:87d4f8125c9988bfbed67af47dd7a953e2fc7b0cc1e7800ec6d2080d490bb353", size = 47008828 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/f2/de993bb2d21b33a98d031ecf6a978e4b61da207bef02f7b43093774c480d/pillow-12.0.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0869154a2d0546545cde61d1789a6524319fc1897d9ee31218eae7a60ccc5643", size = 4045493 }, + { url = "https://files.pythonhosted.org/packages/0e/b6/bc8d0c4c9f6f111a783d045310945deb769b806d7574764234ffd50bc5ea/pillow-12.0.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:a7921c5a6d31b3d756ec980f2f47c0cfdbce0fc48c22a39347a895f41f4a6ea4", size = 4120461 }, + { url = "https://files.pythonhosted.org/packages/5d/57/d60d343709366a353dc56adb4ee1e7d8a2cc34e3fbc22905f4167cfec119/pillow-12.0.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:1ee80a59f6ce048ae13cda1abf7fbd2a34ab9ee7d401c46be3ca685d1999a399", size = 3576912 }, + { url = "https://files.pythonhosted.org/packages/a4/a4/a0a31467e3f83b94d37568294b01d22b43ae3c5d85f2811769b9c66389dd/pillow-12.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c50f36a62a22d350c96e49ad02d0da41dbd17ddc2e29750dbdba4323f85eb4a5", size = 5249132 }, + { url = "https://files.pythonhosted.org/packages/83/06/48eab21dd561de2914242711434c0c0eb992ed08ff3f6107a5f44527f5e9/pillow-12.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5193fde9a5f23c331ea26d0cf171fbf67e3f247585f50c08b3e205c7aeb4589b", size = 4650099 }, + { url = "https://files.pythonhosted.org/packages/fc/bd/69ed99fd46a8dba7c1887156d3572fe4484e3f031405fcc5a92e31c04035/pillow-12.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bde737cff1a975b70652b62d626f7785e0480918dece11e8fef3c0cf057351c3", size = 6230808 }, + { url = "https://files.pythonhosted.org/packages/ea/94/8fad659bcdbf86ed70099cb60ae40be6acca434bbc8c4c0d4ef356d7e0de/pillow-12.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a6597ff2b61d121172f5844b53f21467f7082f5fb385a9a29c01414463f93b07", size = 8037804 }, + { url = "https://files.pythonhosted.org/packages/20/39/c685d05c06deecfd4e2d1950e9a908aa2ca8bc4e6c3b12d93b9cafbd7837/pillow-12.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b817e7035ea7f6b942c13aa03bb554fc44fea70838ea21f8eb31c638326584e", size = 6345553 }, + { url = "https://files.pythonhosted.org/packages/38/57/755dbd06530a27a5ed74f8cb0a7a44a21722ebf318edbe67ddbd7fb28f88/pillow-12.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f4f1231b7dec408e8670264ce63e9c71409d9583dd21d32c163e25213ee2a344", size = 7037729 }, + { url = "https://files.pythonhosted.org/packages/ca/b6/7e94f4c41d238615674d06ed677c14883103dce1c52e4af16f000338cfd7/pillow-12.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e51b71417049ad6ab14c49608b4a24d8fb3fe605e5dfabfe523b58064dc3d27", size = 6459789 }, + { url = "https://files.pythonhosted.org/packages/9c/14/4448bb0b5e0f22dd865290536d20ec8a23b64e2d04280b89139f09a36bb6/pillow-12.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d120c38a42c234dc9a8c5de7ceaaf899cf33561956acb4941653f8bdc657aa79", size = 7130917 }, + { url = "https://files.pythonhosted.org/packages/dd/ca/16c6926cc1c015845745d5c16c9358e24282f1e588237a4c36d2b30f182f/pillow-12.0.0-cp313-cp313-win32.whl", hash = "sha256:4cc6b3b2efff105c6a1656cfe59da4fdde2cda9af1c5e0b58529b24525d0a098", size = 6302391 }, + { url = "https://files.pythonhosted.org/packages/6d/2a/dd43dcfd6dae9b6a49ee28a8eedb98c7d5ff2de94a5d834565164667b97b/pillow-12.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:4cf7fed4b4580601c4345ceb5d4cbf5a980d030fd5ad07c4d2ec589f95f09905", size = 7007477 }, + { url = "https://files.pythonhosted.org/packages/77/f0/72ea067f4b5ae5ead653053212af05ce3705807906ba3f3e8f58ddf617e6/pillow-12.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:9f0b04c6b8584c2c193babcccc908b38ed29524b29dd464bc8801bf10d746a3a", size = 2435918 }, + { url = "https://files.pythonhosted.org/packages/f5/5e/9046b423735c21f0487ea6cb5b10f89ea8f8dfbe32576fe052b5ba9d4e5b/pillow-12.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7fa22993bac7b77b78cae22bad1e2a987ddf0d9015c63358032f84a53f23cdc3", size = 5251406 }, + { url = "https://files.pythonhosted.org/packages/12/66/982ceebcdb13c97270ef7a56c3969635b4ee7cd45227fa707c94719229c5/pillow-12.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f135c702ac42262573fe9714dfe99c944b4ba307af5eb507abef1667e2cbbced", size = 4653218 }, + { url = "https://files.pythonhosted.org/packages/16/b3/81e625524688c31859450119bf12674619429cab3119eec0e30a7a1029cb/pillow-12.0.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c85de1136429c524e55cfa4e033b4a7940ac5c8ee4d9401cc2d1bf48154bbc7b", size = 6266564 }, + { url = "https://files.pythonhosted.org/packages/98/59/dfb38f2a41240d2408096e1a76c671d0a105a4a8471b1871c6902719450c/pillow-12.0.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:38df9b4bfd3db902c9c2bd369bcacaf9d935b2fff73709429d95cc41554f7b3d", size = 8069260 }, + { url = "https://files.pythonhosted.org/packages/dc/3d/378dbea5cd1874b94c312425ca77b0f47776c78e0df2df751b820c8c1d6c/pillow-12.0.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7d87ef5795da03d742bf49439f9ca4d027cde49c82c5371ba52464aee266699a", size = 6379248 }, + { url = "https://files.pythonhosted.org/packages/84/b0/d525ef47d71590f1621510327acec75ae58c721dc071b17d8d652ca494d8/pillow-12.0.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aff9e4d82d082ff9513bdd6acd4f5bd359f5b2c870907d2b0a9c5e10d40c88fe", size = 7066043 }, + { url = "https://files.pythonhosted.org/packages/61/2c/aced60e9cf9d0cde341d54bf7932c9ffc33ddb4a1595798b3a5150c7ec4e/pillow-12.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8d8ca2b210ada074d57fcee40c30446c9562e542fc46aedc19baf758a93532ee", size = 6490915 }, + { url = "https://files.pythonhosted.org/packages/ef/26/69dcb9b91f4e59f8f34b2332a4a0a951b44f547c4ed39d3e4dcfcff48f89/pillow-12.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:99a7f72fb6249302aa62245680754862a44179b545ded638cf1fef59befb57ef", size = 7157998 }, + { url = "https://files.pythonhosted.org/packages/61/2b/726235842220ca95fa441ddf55dd2382b52ab5b8d9c0596fe6b3f23dafe8/pillow-12.0.0-cp313-cp313t-win32.whl", hash = "sha256:4078242472387600b2ce8d93ade8899c12bf33fa89e55ec89fe126e9d6d5d9e9", size = 6306201 }, + { url = "https://files.pythonhosted.org/packages/c0/3d/2afaf4e840b2df71344ababf2f8edd75a705ce500e5dc1e7227808312ae1/pillow-12.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:2c54c1a783d6d60595d3514f0efe9b37c8808746a66920315bfd34a938d7994b", size = 7013165 }, + { url = "https://files.pythonhosted.org/packages/6f/75/3fa09aa5cf6ed04bee3fa575798ddf1ce0bace8edb47249c798077a81f7f/pillow-12.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:26d9f7d2b604cd23aba3e9faf795787456ac25634d82cd060556998e39c6fa47", size = 2437834 }, + { url = "https://files.pythonhosted.org/packages/54/2a/9a8c6ba2c2c07b71bec92cf63e03370ca5e5f5c5b119b742bcc0cde3f9c5/pillow-12.0.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:beeae3f27f62308f1ddbcfb0690bf44b10732f2ef43758f169d5e9303165d3f9", size = 4045531 }, + { url = "https://files.pythonhosted.org/packages/84/54/836fdbf1bfb3d66a59f0189ff0b9f5f666cee09c6188309300df04ad71fa/pillow-12.0.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d4827615da15cd59784ce39d3388275ec093ae3ee8d7f0c089b76fa87af756c2", size = 4120554 }, + { url = "https://files.pythonhosted.org/packages/0d/cd/16aec9f0da4793e98e6b54778a5fbce4f375c6646fe662e80600b8797379/pillow-12.0.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:3e42edad50b6909089750e65c91aa09aaf1e0a71310d383f11321b27c224ed8a", size = 3576812 }, + { url = "https://files.pythonhosted.org/packages/f6/b7/13957fda356dc46339298b351cae0d327704986337c3c69bb54628c88155/pillow-12.0.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e5d8efac84c9afcb40914ab49ba063d94f5dbdf5066db4482c66a992f47a3a3b", size = 5252689 }, + { url = "https://files.pythonhosted.org/packages/fc/f5/eae31a306341d8f331f43edb2e9122c7661b975433de5e447939ae61c5da/pillow-12.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:266cd5f2b63ff316d5a1bba46268e603c9caf5606d44f38c2873c380950576ad", size = 4650186 }, + { url = "https://files.pythonhosted.org/packages/86/62/2a88339aa40c4c77e79108facbd307d6091e2c0eb5b8d3cf4977cfca2fe6/pillow-12.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:58eea5ebe51504057dd95c5b77d21700b77615ab0243d8152793dc00eb4faf01", size = 6230308 }, + { url = "https://files.pythonhosted.org/packages/c7/33/5425a8992bcb32d1cb9fa3dd39a89e613d09a22f2c8083b7bf43c455f760/pillow-12.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f13711b1a5ba512d647a0e4ba79280d3a9a045aaf7e0cc6fbe96b91d4cdf6b0c", size = 8039222 }, + { url = "https://files.pythonhosted.org/packages/d8/61/3f5d3b35c5728f37953d3eec5b5f3e77111949523bd2dd7f31a851e50690/pillow-12.0.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6846bd2d116ff42cba6b646edf5bf61d37e5cbd256425fa089fee4ff5c07a99e", size = 6346657 }, + { url = "https://files.pythonhosted.org/packages/3a/be/ee90a3d79271227e0f0a33c453531efd6ed14b2e708596ba5dd9be948da3/pillow-12.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c98fa880d695de164b4135a52fd2e9cd7b7c90a9d8ac5e9e443a24a95ef9248e", size = 7038482 }, + { url = "https://files.pythonhosted.org/packages/44/34/a16b6a4d1ad727de390e9bd9f19f5f669e079e5826ec0f329010ddea492f/pillow-12.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa3ed2a29a9e9d2d488b4da81dcb54720ac3104a20bf0bd273f1e4648aff5af9", size = 6461416 }, + { url = "https://files.pythonhosted.org/packages/b6/39/1aa5850d2ade7d7ba9f54e4e4c17077244ff7a2d9e25998c38a29749eb3f/pillow-12.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d034140032870024e6b9892c692fe2968493790dd57208b2c37e3fb35f6df3ab", size = 7131584 }, + { url = "https://files.pythonhosted.org/packages/bf/db/4fae862f8fad0167073a7733973bfa955f47e2cac3dc3e3e6257d10fab4a/pillow-12.0.0-cp314-cp314-win32.whl", hash = "sha256:1b1b133e6e16105f524a8dec491e0586d072948ce15c9b914e41cdadd209052b", size = 6400621 }, + { url = "https://files.pythonhosted.org/packages/2b/24/b350c31543fb0107ab2599464d7e28e6f856027aadda995022e695313d94/pillow-12.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:8dc232e39d409036af549c86f24aed8273a40ffa459981146829a324e0848b4b", size = 7142916 }, + { url = "https://files.pythonhosted.org/packages/0f/9b/0ba5a6fd9351793996ef7487c4fdbde8d3f5f75dbedc093bb598648fddf0/pillow-12.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:d52610d51e265a51518692045e372a4c363056130d922a7351429ac9f27e70b0", size = 2523836 }, + { url = "https://files.pythonhosted.org/packages/f5/7a/ceee0840aebc579af529b523d530840338ecf63992395842e54edc805987/pillow-12.0.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:1979f4566bb96c1e50a62d9831e2ea2d1211761e5662afc545fa766f996632f6", size = 5255092 }, + { url = "https://files.pythonhosted.org/packages/44/76/20776057b4bfd1aef4eeca992ebde0f53a4dce874f3ae693d0ec90a4f79b/pillow-12.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b2e4b27a6e15b04832fe9bf292b94b5ca156016bbc1ea9c2c20098a0320d6cf6", size = 4653158 }, + { url = "https://files.pythonhosted.org/packages/82/3f/d9ff92ace07be8836b4e7e87e6a4c7a8318d47c2f1463ffcf121fc57d9cb/pillow-12.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fb3096c30df99fd01c7bf8e544f392103d0795b9f98ba71a8054bcbf56b255f1", size = 6267882 }, + { url = "https://files.pythonhosted.org/packages/9f/7a/4f7ff87f00d3ad33ba21af78bfcd2f032107710baf8280e3722ceec28cda/pillow-12.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7438839e9e053ef79f7112c881cef684013855016f928b168b81ed5835f3e75e", size = 8071001 }, + { url = "https://files.pythonhosted.org/packages/75/87/fcea108944a52dad8cca0715ae6247e271eb80459364a98518f1e4f480c1/pillow-12.0.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d5c411a8eaa2299322b647cd932586b1427367fd3184ffbb8f7a219ea2041ca", size = 6380146 }, + { url = "https://files.pythonhosted.org/packages/91/52/0d31b5e571ef5fd111d2978b84603fce26aba1b6092f28e941cb46570745/pillow-12.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7e091d464ac59d2c7ad8e7e08105eaf9dafbc3883fd7265ffccc2baad6ac925", size = 7067344 }, + { url = "https://files.pythonhosted.org/packages/7b/f4/2dd3d721f875f928d48e83bb30a434dee75a2531bca839bb996bb0aa5a91/pillow-12.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:792a2c0be4dcc18af9d4a2dfd8a11a17d5e25274a1062b0ec1c2d79c76f3e7f8", size = 6491864 }, + { url = "https://files.pythonhosted.org/packages/30/4b/667dfcf3d61fc309ba5a15b141845cece5915e39b99c1ceab0f34bf1d124/pillow-12.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:afbefa430092f71a9593a99ab6a4e7538bc9eabbf7bf94f91510d3503943edc4", size = 7158911 }, + { url = "https://files.pythonhosted.org/packages/a2/2f/16cabcc6426c32218ace36bf0d55955e813f2958afddbf1d391849fee9d1/pillow-12.0.0-cp314-cp314t-win32.whl", hash = "sha256:3830c769decf88f1289680a59d4f4c46c72573446352e2befec9a8512104fa52", size = 6408045 }, + { url = "https://files.pythonhosted.org/packages/35/73/e29aa0c9c666cf787628d3f0dcf379f4791fba79f4936d02f8b37165bdf8/pillow-12.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:905b0365b210c73afb0ebe9101a32572152dfd1c144c7e28968a331b9217b94a", size = 7148282 }, + { url = "https://files.pythonhosted.org/packages/c1/70/6b41bdcddf541b437bbb9f47f94d2db5d9ddef6c37ccab8c9107743748a4/pillow-12.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:99353a06902c2e43b43e8ff74ee65a7d90307d82370604746738a1e0661ccca7", size = 2525630 }, +] + +[[package]] +name = "polars" +version = "1.35.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "polars-runtime-32" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9b/5b/3caad788d93304026cbf0ab4c37f8402058b64a2f153b9c62f8b30f5d2ee/polars-1.35.1.tar.gz", hash = "sha256:06548e6d554580151d6ca7452d74bceeec4640b5b9261836889b8e68cfd7a62e", size = 694881 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/4c/21a227b722534404241c2a76beceb7463469d50c775a227fc5c209eb8adc/polars-1.35.1-py3-none-any.whl", hash = "sha256:c29a933f28aa330d96a633adbd79aa5e6a6247a802a720eead9933f4613bdbf4", size = 783598 }, +] + +[[package]] +name = "polars-runtime-32" +version = "1.35.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/df/3e/19c252e8eb4096300c1a36ec3e50a27e5fa9a1ccaf32d3927793c16abaee/polars_runtime_32-1.35.1.tar.gz", hash = "sha256:f6b4ec9cd58b31c87af1b8c110c9c986d82345f1d50d7f7595b5d447a19dc365", size = 2696218 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/2c/da339459805a26105e9d9c2f07e43ca5b8baeee55acd5457e6881487a79a/polars_runtime_32-1.35.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:6f051a42f6ae2f26e3bc2cf1f170f2120602976e2a3ffb6cfba742eecc7cc620", size = 40525100 }, + { url = "https://files.pythonhosted.org/packages/27/70/a0733568b3533481924d2ce68b279ab3d7334e5fa6ed259f671f650b7c5e/polars_runtime_32-1.35.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:c2232f9cf05ba59efc72d940b86c033d41fd2d70bf2742e8115ed7112a766aa9", size = 36701908 }, + { url = "https://files.pythonhosted.org/packages/46/54/6c09137bef9da72fd891ba58c2962cc7c6c5cad4649c0e668d6b344a9d7b/polars_runtime_32-1.35.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42f9837348557fd674477ea40a6ac8a7e839674f6dd0a199df24be91b026024c", size = 41317692 }, + { url = "https://files.pythonhosted.org/packages/22/55/81c5b266a947c339edd7fbaa9e1d9614012d02418453f48b76cc177d3dd9/polars_runtime_32-1.35.1-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:c873aeb36fed182d5ebc35ca17c7eb193fe83ae2ea551ee8523ec34776731390", size = 37853058 }, + { url = "https://files.pythonhosted.org/packages/6c/58/be8b034d559eac515f52408fd6537be9bea095bc0388946a4e38910d3d50/polars_runtime_32-1.35.1-cp39-abi3-win_amd64.whl", hash = "sha256:35cde9453ca7032933f0e58e9ed4388f5a1e415dd0db2dd1e442c81d815e630c", size = 41289554 }, + { url = "https://files.pythonhosted.org/packages/f4/7f/e0111b9e2a1169ea82cde3ded9c92683e93c26dfccd72aee727996a1ac5b/polars_runtime_32-1.35.1-cp39-abi3-win_arm64.whl", hash = "sha256:fd77757a6c9eb9865c4bfb7b07e22225207c6b7da382bd0b9bd47732f637105d", size = 36958878 }, +] + +[[package]] +name = "pyparsing" +version = "3.2.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz", hash = "sha256:2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6", size = 1099274 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl", hash = "sha256:e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e", size = 113890 }, +] + +[[package]] +name = "pyqt6" +version = "6.10.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyqt6-qt6" }, + { name = "pyqt6-sip" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f2/57/48985490c01584e00b70040ec0eb02dfe950471097201acb1b65deb633e5/pyqt6-6.10.0.tar.gz", hash = "sha256:710ecfd720d9a03b2c684881ae37f528e11d17e8f1bf96431d00a6a73f308e36", size = 1079921 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/99/ca0386e84e39e4f2ef30322f1d39d515f2a3efbc542cccb33e65a1cf7c46/pyqt6-6.10.0-1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:54b6b022369e4e6ade8cf79c0f988558839df7b2c285f814b4567d15a0fcb756", size = 37745881 }, + { url = "https://files.pythonhosted.org/packages/66/48/be73fb730c6f617f456ab73150db384b17a7a08394d7e2ded55f42de8a7b/pyqt6-6.10.0-cp39-abi3-macosx_10_14_universal2.whl", hash = "sha256:0eb82f152a83a8ae39f7d3ba580829ff7c0e8179d19d70f396853c10c8ddc5ac", size = 59987475 }, + { url = "https://files.pythonhosted.org/packages/00/31/e55f7b718df92423b5af3f0fe11e770e56d7576c03adc6b6866b0e8beb46/pyqt6-6.10.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:43e94a0ad4713055b47b4676d23432349845729912e4f3d20ac95935931c5e6f", size = 39028922 }, + { url = "https://files.pythonhosted.org/packages/cf/3d/48465697f530addaeaf41f4d5b3e54108ebabd18ab6da19823de5099e807/pyqt6-6.10.0-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:357da0f1465557dde249a31bc1f152320b7628a644e1d55d2db09b635394f39f", size = 40619932 }, + { url = "https://files.pythonhosted.org/packages/fb/e4/0c4745cd0b31c17bd85d5da697404679f4faa6424aa7b57112277c1e8027/pyqt6-6.10.0-cp39-abi3-win_amd64.whl", hash = "sha256:8b5e4ea573733017a76bd12ea1b53351fd7f6dc57f8abf4329c4a41fea6dde04", size = 25816996 }, + { url = "https://files.pythonhosted.org/packages/b0/40/0891706e69c60267b6933465fa299138bafa72324d6855c6962ca05a5f9f/pyqt6-6.10.0-cp39-abi3-win_arm64.whl", hash = "sha256:c2b5fc1a028e95b096f3a5966611cc8194e8e9e69984c41477417e18b5ce1362", size = 25663908 }, +] + +[[package]] +name = "pyqt6-qt6" +version = "6.10.0" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c3/b2/309ba75490d614530f10a5b922555374098706364ec1cc411f98068beb4d/pyqt6_qt6-6.10.0-py3-none-macosx_10_14_x86_64.whl", hash = "sha256:9b48d9eba795a78d21393b1909e7a0406512038ea4667463e4882e284bf95817", size = 68426539 }, + { url = "https://files.pythonhosted.org/packages/25/20/1de54c91f6f34be6042bdb6913c71e253a6bddf002d8aa78cb1acc67f5a8/pyqt6_qt6-6.10.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:768ced73dbb2c85e6d72ea63fd7409ba934d4b24580ef073a3eb16fd88d3fe70", size = 62509741 }, + { url = "https://files.pythonhosted.org/packages/c1/32/1d84ab75795b0984935e32d2a51200b94328a45954c28360a97d02f1c376/pyqt6_qt6-6.10.0-py3-none-manylinux_2_34_x86_64.whl", hash = "sha256:cd38b281bb7229b8114f13126aacd77f831a97105fdb1d900260a48ead8c9fcd", size = 83787113 }, + { url = "https://files.pythonhosted.org/packages/d9/56/e8daedfb0e4a79e19500b6271958b915389360b39a3e2847961828d2e0b3/pyqt6_qt6-6.10.0-py3-none-manylinux_2_39_aarch64.whl", hash = "sha256:497df665091451ab7fde3355e262b243d2a2d97924b899a5cbb193a0cc573b7e", size = 82848172 }, + { url = "https://files.pythonhosted.org/packages/0b/82/bbbee33205574f57b17c25059c6b8726a129961b55a1fe34f9216b4b0a70/pyqt6_qt6-6.10.0-py3-none-win_amd64.whl", hash = "sha256:d11bc03908cacbd2e3426289ad51dcf6d2896af6ffec595626ce9cf9b93e770d", size = 76322424 }, + { url = "https://files.pythonhosted.org/packages/f2/b7/fb3172c8e85fdcdc942600dbec3d7ebd8d5224159cd4f32ced6cc43949cc/pyqt6_qt6-6.10.0-py3-none-win_arm64.whl", hash = "sha256:7f3ae89337e905dba436c226027ebd8777d4cdeef386131ad9a1b0a53ecc1a81", size = 56552467 }, +] + +[[package]] +name = "pyqt6-sip" +version = "13.10.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/4a/96daf6c2e4f689faae9bd8cebb52754e76522c58a6af9b5ec86a2e8ec8b4/pyqt6_sip-13.10.2.tar.gz", hash = "sha256:464ad156bf526500ce6bd05cac7a82280af6309974d816739b4a9a627156fafe", size = 92548 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/1e/979ea64c98ca26979d8ce11e9a36579e17d22a71f51d7366d6eec3c82c13/pyqt6_sip-13.10.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8b5d06a0eac36038fa8734657d99b5fe92263ae7a0cd0a67be6acfe220a063e1", size = 112227 }, + { url = "https://files.pythonhosted.org/packages/d9/21/84c230048e3bfef4a9209d16e56dcd2ae10590d03a31556ae8b5f1dcc724/pyqt6_sip-13.10.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad376a6078da37b049fdf9d6637d71b52727e65c4496a80b753ddc8d27526aca", size = 322920 }, + { url = "https://files.pythonhosted.org/packages/b0/1e/c6a28a142f14e735088534cc92951c3f48cccd77cdd4f3b10d7996be420f/pyqt6_sip-13.10.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3dde8024d055f496eba7d44061c5a1ba4eb72fc95e5a9d7a0dbc908317e0888b", size = 303833 }, + { url = "https://files.pythonhosted.org/packages/89/63/e5adf350c1c3123d4865c013f164c5265512fa79f09ad464fb2fdf9f9e61/pyqt6_sip-13.10.2-cp313-cp313-win_amd64.whl", hash = "sha256:0b097eb58b4df936c4a2a88a2f367c8bb5c20ff049a45a7917ad75d698e3b277", size = 53527 }, + { url = "https://files.pythonhosted.org/packages/58/74/2df4195306d050fbf4963fb5636108a66e5afa6dc05fd9e81e51ec96c384/pyqt6_sip-13.10.2-cp313-cp313-win_arm64.whl", hash = "sha256:cc6a1dfdf324efaac6e7b890a608385205e652845c62130de919fd73a6326244", size = 45373 }, + { url = "https://files.pythonhosted.org/packages/23/57/74b4eb7a51b9133958daa8409b55de95e44feb694d4e2e3eba81a070ca20/pyqt6_sip-13.10.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8a76a06a8e5c5b1f17a3f6f3c834ca324877e07b960b18b8b9bbfd9c536ec658", size = 112354 }, + { url = "https://files.pythonhosted.org/packages/f2/cb/fdef02e0d6ee8443a9683a43650d61c6474b634b6ae6e1c6f097da6310bf/pyqt6_sip-13.10.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9128d770a611200529468397d710bc972f1dcfe12bfcbb09a3ccddcd4d54fa5b", size = 323488 }, + { url = "https://files.pythonhosted.org/packages/8c/5b/8ede8d6234c3ea884cbd097d7d47ff9910fb114efe041af62b4453acd23b/pyqt6_sip-13.10.2-cp314-cp314-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d820a0fae7315932c08f27dc0a7e33e0f50fe351001601a8eb9cf6f22b04562e", size = 303881 }, + { url = "https://files.pythonhosted.org/packages/be/44/b5e78b072d1594643b0f1ff348f2bf54d4adb5a3f9b9f0989c54e33238d6/pyqt6_sip-13.10.2-cp314-cp314-win_amd64.whl", hash = "sha256:3213bb6e102d3842a3bb7e59d5f6e55f176c80880ff0b39d0dac0cfe58313fb3", size = 55098 }, + { url = "https://files.pythonhosted.org/packages/e2/91/357e9fcef5d830c3d50503d35e0357818aca3540f78748cc214dfa015d00/pyqt6_sip-13.10.2-cp314-cp314-win_arm64.whl", hash = "sha256:ce33ff1f94960ad4b08035e39fa0c3c9a67070bec39ffe3e435c792721504726", size = 46088 }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, +]