diff --git a/.gitignore b/.gitignore index 6a444981..97d634fc 100644 --- a/.gitignore +++ b/.gitignore @@ -189,3 +189,6 @@ build log_syndication.csv log_feed.csv + +assets/sass/*.css +assets/sass/*.css.map diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ddd5eb26..ec6068ff 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,12 +1,12 @@ fail_fast: true repos: - repo: https://github.com/adamchainz/djade-pre-commit - rev: "1.7.0" # Replace with the latest tag on GitHub + rev: "1.9.0" # Replace with the latest tag on GitHub hooks: - id: djade args: [--target-version, "4.2"] # Replace with Django version - repo: https://github.com/psf/black - rev: 26.1.0 + rev: 26.3.1 hooks: - id: black language_version: python3.12 diff --git a/archetypes/post.md b/archetypes/post.md index 423732d7..0da3141d 100644 --- a/archetypes/post.md +++ b/archetypes/post.md @@ -25,6 +25,7 @@ series: - Horror stories - Data and Data Tools - Python's Reptile Env +- My Home Automation Lab reply: repost: like: diff --git a/assets/sass/_imports.scss b/assets/sass/_imports.scss new file mode 100644 index 00000000..3eaf9ddd --- /dev/null +++ b/assets/sass/_imports.scss @@ -0,0 +1 @@ +@import url("https://fonts.googleapis.com/css2?family=Audiowide&family=Rajdhani:wght@300;400;500;600;700&display=swap"); diff --git a/assets/sass/add.scss b/assets/sass/add.scss index 8fb01970..e1e46abe 100644 --- a/assets/sass/add.scss +++ b/assets/sass/add.scss @@ -1,3 +1,5 @@ +@import "_imports"; + @import "root"; @import "pride"; @import "comments"; @@ -11,3 +13,4 @@ @import "share-button"; @import "typewriter"; @import "input"; +@import "xkcd"; diff --git a/assets/sass/menu.scss b/assets/sass/menu.scss index 2b0f3058..f9f5db73 100644 --- a/assets/sass/menu.scss +++ b/assets/sass/menu.scss @@ -13,3 +13,9 @@ } } } + +.menu-link { + font-family: "Audiowide", sans-serif; + font-weight: 400; + font-style: normal; +} diff --git a/assets/sass/root.scss b/assets/sass/root.scss index 76d8c12e..8105c26d 100644 --- a/assets/sass/root.scss +++ b/assets/sass/root.scss @@ -27,3 +27,24 @@ --blockquote-background-color: rgb(75 75 75); } } + +body { + font-family: "Rajdhani", sans-serif; + font-weight: 400; + font-style: normal; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Audiowide", sans-serif; +} + +strong { + font-family: "Audiowide", sans-serif; + font-weight: 400; + font-size: 14px; +} diff --git a/assets/sass/xkcd.scss b/assets/sass/xkcd.scss new file mode 100644 index 00000000..e18a7d4e --- /dev/null +++ b/assets/sass/xkcd.scss @@ -0,0 +1,18 @@ +.xkcd-image { + display: flex; + justify-content: center; + width: 100%; +} + +.xkcd-title { + font-family: "Audiowide", sans-serif; + font-weight: 400; + font-style: normal; + font-size: 1.5em; +} + +.xkcd-subtitle { + font-size: 0.8rem; + color: #666; + margin-top: 0.5rem; +} diff --git a/content/micro/2025/07/response-to-response-dnd/index.md b/content/micro/2025/07/response-to-response-dnd/index.md index a0cf5bb5..ea671a2f 100644 --- a/content/micro/2025/07/response-to-response-dnd/index.md +++ b/content/micro/2025/07/response-to-response-dnd/index.md @@ -12,8 +12,8 @@ repost: null rsvp: null tags: - dnd -- selfhosting +- self-hosting title: Response to Response Dnd --- -Thanks, I will testing it and I will share something if is a good thing for my dnd group \ No newline at end of file +Thanks, I will testing it and I will share something if is a good thing for my dnd group diff --git a/content/post/2020/manage-site-and-certificate/index.md b/content/post/2020/manage-site-and-certificate/index.md index e83684c2..9bb1c575 100644 --- a/content/post/2020/manage-site-and-certificate/index.md +++ b/content/post/2020/manage-site-and-certificate/index.md @@ -19,7 +19,7 @@ After my [other post]({{< relref "post/2020/ssl-check-with-a-script/index.md" >} We need to check when the domain expire (DNS Lookup), we need to check if the server are up and the SSL certificate. This is a problem because we need to launch the same commands every day for multiple server every day and some time we forgot a domain or a url and we don't check it for days. And if something boom we need to fix it with *zero down time* so we need to do some sysadmin work. -![Sysadmin Devotion](https://imgs.xkcd.com/comics/devotion_to_duty.png) +{{< xkcd 705 >}} So, for our task, we need : diff --git a/content/post/2026/starting-my-home-automation-experiment/cover.png b/content/post/2026/starting-my-home-automation-experiment/cover.png new file mode 100644 index 00000000..e4454b96 Binary files /dev/null and b/content/post/2026/starting-my-home-automation-experiment/cover.png differ diff --git a/content/post/2026/starting-my-home-automation-experiment/index.md b/content/post/2026/starting-my-home-automation-experiment/index.md new file mode 100644 index 00000000..ba25b954 --- /dev/null +++ b/content/post/2026/starting-my-home-automation-experiment/index.md @@ -0,0 +1,23 @@ +--- +title: "Starting My Home Automation Experiment" +date: 2026-03-29T20:46:01+02:00 +draft: true +feature_link: "https://www.midjourney.com/home/" +feature_text: "by IA Midjourney" +description: "I am starting a Home Automation in my home and this is how I start it" +tags: +- home-automation +- hacking +- self-hosting +categories: +- tinkering +series: +- My Home Automation Lab +--- + +And some time ago I installed the Fiber[^1] in my home and I want to use in the best way, so I start to rework all my local network and I think about adding some home automation. + +[^1]: I pay a company to install it and clean after. + +{{< xkcd 1966 >}} + diff --git a/content/post/2026/using-pandas-for-getting-data-and-analise-them/cover.png b/content/post/2026/using-pandas-for-getting-data-and-analise-them/cover.png new file mode 100644 index 00000000..43f40d08 Binary files /dev/null and b/content/post/2026/using-pandas-for-getting-data-and-analise-them/cover.png differ diff --git a/content/post/2026/using-pandas-for-getting-data-and-analise-them/index.ipynb b/content/post/2026/using-pandas-for-getting-data-and-analise-them/index.ipynb new file mode 100644 index 00000000..598c1aab --- /dev/null +++ b/content/post/2026/using-pandas-for-getting-data-and-analise-them/index.ipynb @@ -0,0 +1,308 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ec2a032c", + "metadata": {}, + "source": [ + "---\n", + "date: '2026-03-12T20:00:07+08:00'\n", + "title: 'Using Pandas For Getting Data And Analise Them'\n", + "feature_link: \"https://www.midjourney.com/home/\"\n", + "feature_text: \"by IA Midjourney\"\n", + "description: 'Using Pandas For Getting Data And Analise Them'\n", + "isStarred: false\n", + "tags:\n", + "- pandas\n", + "categories:\n", + "- dev\n", + "images:\n", + "keywords:\n", + "series:\n", + "- Data and Data Tools\n", + "draft: true\n", + "---" + ] + }, + { + "cell_type": "markdown", + "id": "762356ba-8dd6-4e7d-98bc-413980ba2ba4", + "metadata": {}, + "source": [ + "## The idea" + ] + }, + { + "cell_type": "markdown", + "id": "51dbea95-75af-4def-a8e8-eb95ed8258eb", + "metadata": {}, + "source": [ + "I want to test some of the pandas functionality so I try the import from HTML table for make some data analisys.\n", + "So I choose a web page with data in a table (or two in this case)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "d8948cc6-0a35-4d05-a44c-401ee8ab4523", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib\n", + "import pandas as pd\n" + ] + }, + { + "cell_type": "markdown", + "id": "26008d72-af7f-4684-8bad-b829c2d774d3", + "metadata": {}, + "source": [ + "Here we have the basic import for the needed package for the project." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f4451b98-aff7-4dad-9788-f7cbff92ce21", + "metadata": {}, + "outputs": [], + "source": [ + "url = \"https://www.mangacodex.com/oricon_yearly.php?title_series=&year_series=All&title_volumes=&year_volumes=All\"\n", + "\n", + "pd.set_option(\"display.precision\", 2)" + ] + }, + { + "cell_type": "markdown", + "id": "53634b74-7b71-45d7-a12d-ca4c96cfac05", + "metadata": {}, + "source": [ + "Some basic config (the log, the url,...) for my little script. I allwayse put at the top of the file for easy edit of them, if needed." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b6fb3973-dff2-40c9-b3fb-467ff859c9e9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading data from the page...\n", + "Found 2 tables on the page.\n", + "\n", + "\n" + ] + } + ], + "source": [ + "print(\"Downloading data from the page...\")\n", + "tables = pd.read_html(url, thousands='.', decimal =',')\n", + "print(f\"Found {len(tables)} tables on the page.\")\n", + "\n", + "df1 = pd.DataFrame(tables[0])\n", + "print(type(df1))\n", + "df2 = pd.DataFrame(tables[1])\n", + "print(type(df2))" + ] + }, + { + "cell_type": "markdown", + "id": "7e03d8bb-e520-4a1d-8c24-ccd0863faa0b", + "metadata": {}, + "source": [ + "Starting with the scrape of the page with Pandas. In this case it returnes 2 table in pandas.DataFrame" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "5206887b-37b5-4d23-b7ad-805637b07a3a", + "metadata": {}, + "outputs": [], + "source": [ + "if len(tables) >= 2:\n", + " table_series = tables[0]\n", + " table_volumes = tables[1]\n", + "\n", + "else:\n", + " print(\"Error: The page does not contain enough tables.\")\n", + " raise Error" + ] + }, + { + "cell_type": "markdown", + "id": "54ae5555-b0cb-42f7-9b80-de907e9be379", + "metadata": {}, + "source": [ + "And now we have the two table as pandas Dataframe. Are there some empty data?" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "fcfe611f-a87b-49ff-bc6e-c7daa52bb9a0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-\n", + "Missing value stats for Series:\n", + "Ranking 0\n", + "Title 0\n", + "Sales 0\n", + "Year 0\n", + "dtype: int64\n", + "\n", + "-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-\n", + "Missing value stats for Volumes:\n", + "Ranking 0\n", + "Volume 0\n", + "Sales 0\n", + "Year 0\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "print(\"-*-\" * 20)\n", + "print(\"Missing value stats for Series:\")\n", + "print(table_series.isnull().sum())\n", + "print()\n", + "print(\"-*-\" * 20)\n", + "print(\"Missing value stats for Volumes:\")\n", + "print(table_volumes.isnull().sum())" + ] + }, + { + "cell_type": "markdown", + "id": "e94ecf50-2b48-4b7b-91a3-3baea5823308", + "metadata": {}, + "source": [ + "## Start the analysis" + ] + }, + { + "cell_type": "markdown", + "id": "4d49a38b-3a42-4a61-b6d3-8cc65305ab6e", + "metadata": {}, + "source": [ + "So we know the data is consistant so we need to know some generic data about this two dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "433f803c-dd0b-434e-9425-1d46b6526a4b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-*-\n", + " Ranking Title Sales Year\n", + "0 1 One Piece #50 1678208 2008\n", + "1 2 One Piece #51 1646978 2008\n", + "2 3 Nana #19 1645128 2008\n", + "3 4 One Piece #49 1544000 2008\n", + "4 5 Nana #20 1431335 2008\n", + "\n", + "RangeIndex: 3413 entries, 0 to 3412\n", + "Columns: 4 entries, Ranking to Year\n", + "dtypes: int64(3), str(1)\n", + "memory usage: 106.8 KB\n", + "None\n", + "\n", + "-*-\n", + " Ranking Volume Sales Year\n", + "0 1 One Piece 5956540 2008\n", + "1 2 Naruto 4261054 2008\n", + "2 3 20th Century Boys 3710054 2008\n", + "3 4 Hitman Reborn! 3371618 2008\n", + "4 5 Bleach 3161825 2008\n", + "\n", + "RangeIndex: 860 entries, 0 to 859\n", + "Columns: 4 entries, Ranking to Year\n", + "dtypes: int64(3), str(1)\n", + "memory usage: 27.0 KB\n", + "None\n" + ] + } + ], + "source": [ + "print(\"-*-\")\n", + "print(table_series.head())\n", + "print(table_series.info(verbose=False))\n", + "print()\n", + "print(\"-*-\")\n", + "print(table_volumes.head())\n", + "print(table_volumes.info(verbose=False))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "aedc41b6-a7c4-442e-b56c-fe2fe9a85f51", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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41yZNC7KoHNX2t27d1OZMmUoISHBVgXGQiYtLS3i8qw6gOuA64DxgPsCcwTmShlrBssFFhw1a9akxMTE+LB08AetVauWtPfni+Zm0WGC64DrgPGA+wJzBOZKu9eMSC0cJggkBQAAAIASIDoAAAAAoARtREdqaioNGzZMPLsZXAdcB4wH3BeYIzBXxuqaoTyQFAAAAADuRBtLBwAAAABiG4gOAAAAACgBogMAAAAASoDoAAAAAIASIDoAAAAAoARtRMcHH3xA9erVo+LFi1OnTp1o4cKFpAvPP/+8KBlvfTRr1sz799OnT9PgwYOpUqVKVLp0abr66qtp3759Pu+xY8cO6t+/P5UsWZKqVq1Kjz/+OOXk5FAsM2vWLBowYIAoucvnPH78eJ+/c+LVc889RzVq1KASJUpQr169aOPGjT6vOXz4MA0cOFBU2itfvjzdcccddOLECZ/XrFixgrp27SrGDpcDfv311ymersOtt956xvi45JJLtLsOw4cPp3PPPVe0UOAxfMUVV9D69et9XmPXvTBjxgxq166dSCNs1KgRjR49muLpOnTv3v2MMXHvvfdqdR1GjhxJrVu39lbS7Ny5M02cONFVYyGU6xBzY8HQgLFjxxopKSnGF198Yaxevdq46667jPLlyxv79u0zdGDYsGFGixYtjD179ngfBw4c8P793nvvNWrXrm1MnTrVWLx4sXHeeecZ559/vvfvOTk5RsuWLY1evXoZ//zzj/HHH38YlStXNoYOHWrEMvw5n3nmGePnn3/mtG5j3LhxPn9/9dVXjXLlyhnjx483li9fblx22WVG/fr1jVOnTnlfc8kllxht2rQx5s+fb8yePdto1KiRceONN3r/np6eblSrVs0YOHCgsWrVKuPbb781SpQoYXz88cdGvFyHQYMGifO0jo/Dhw/7vEaH69CnTx9j1KhR4vMtW7bM6Nevn1GnTh3jxIkTtt4LW7ZsMUqWLGk8+uijxpo1a4z333/fSEpKMiZNmmTEy3W48MILxTxoHRP8Het0HX799Vfj999/NzZs2GCsX7/eePrpp41ixYqJ6+KWsRDKdYi1saCF6OjYsaMxePBg7//n5uYaNWvWNIYPH27oIjp4wQjE0aNHxQD74YcfvL9bu3atWJzmzZsn/p8HUWJiorF3717va0aOHGmULVvWyMzMNOIB/8U2Ly/PqF69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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "table_series[[\"Title\",\"Sales\",\"Year\"]].plot(title=\"Manga Series\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c0d88d19-decb-4555-9459-c66060f65e9c", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/content/post/2026/using-pandas-for-getting-data-and-analise-them/index.md b/content/post/2026/using-pandas-for-getting-data-and-analise-them/index.md new file mode 100644 index 00000000..2568ab52 --- /dev/null +++ b/content/post/2026/using-pandas-for-getting-data-and-analise-them/index.md @@ -0,0 +1,169 @@ +--- +date: '2026-03-12T20:00:07+08:00' +title: 'Using Pandas For Getting Data And Analise Them' +feature_link: "https://www.midjourney.com/home/" +feature_text: "by IA Midjourney" +description: 'Using Pandas For Getting Data And Analise Them' +isStarred: false +tags: +- pandas +categories: +- dev +images: +keywords: +series: +- Data and Data Tools +draft: true +--- + +## The idea + +I want to test some of the pandas functionality so I try the import from HTML table for make some data analisys. +So I choose a web page with data in a table (or two in this case) + + +```python +import matplotlib +import pandas as pd + +``` + +Here we have the basic import for the needed package for the project. + + +```python +url = "https://www.mangacodex.com/oricon_yearly.php?title_series=&year_series=All&title_volumes=&year_volumes=All" + +pd.set_option("display.precision", 2) +``` + +Some basic config (the log, the url,...) for my little script. I allwayse put at the top of the file for easy edit of them, if needed. + + +```python +print("Downloading data from the page...") +tables = pd.read_html(url, thousands='.', decimal =',') +print(f"Found {len(tables)} tables on the page.") + +df1 = pd.DataFrame(tables[0]) +print(type(df1)) +df2 = pd.DataFrame(tables[1]) +print(type(df2)) +``` + + Downloading data from the page... + Found 2 tables on the page. + + + + +Starting with the scrape of the page with Pandas. In this case it returnes 2 table in pandas.DataFrame + + +```python +if len(tables) >= 2: + table_series = tables[0] + table_volumes = tables[1] + +else: + print("Error: The page does not contain enough tables.") + raise Error +``` + +And now we have the two table as pandas Dataframe. Are there some empty data? + + +```python +print("-*-" * 20) +print("Missing value stats for Series:") +print(table_series.isnull().sum()) +print() +print("-*-" * 20) +print("Missing value stats for Volumes:") +print(table_volumes.isnull().sum()) +``` + + -*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*- + Missing value stats for Series: + Ranking 0 + Title 0 + Sales 0 + Year 0 + dtype: int64 + + -*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*- + Missing value stats for Volumes: + Ranking 0 + Volume 0 + Sales 0 + Year 0 + dtype: int64 + + +## Start the analysis + +So we know the data is consistant so we need to know some generic data about this two dataset. + + +```python +print("-*-") +print(table_series.head()) +print(table_series.info(verbose=False)) +print() +print("-*-") +print(table_volumes.head()) +print(table_volumes.info(verbose=False)) + +``` + + -*- + Ranking Title Sales Year + 0 1 One Piece #50 1678208 2008 + 1 2 One Piece #51 1646978 2008 + 2 3 Nana #19 1645128 2008 + 3 4 One Piece #49 1544000 2008 + 4 5 Nana #20 1431335 2008 + + RangeIndex: 3413 entries, 0 to 3412 + Columns: 4 entries, Ranking to Year + dtypes: int64(3), str(1) + memory usage: 106.8 KB + None + + -*- + Ranking Volume Sales Year + 0 1 One Piece 5956540 2008 + 1 2 Naruto 4261054 2008 + 2 3 20th Century Boys 3710054 2008 + 3 4 Hitman Reborn! 3371618 2008 + 4 5 Bleach 3161825 2008 + + RangeIndex: 860 entries, 0 to 859 + Columns: 4 entries, Ranking to Year + dtypes: int64(3), str(1) + memory usage: 27.0 KB + None + + + +```python +table_series[["Title","Sales","Year"]].plot(title="Manga Series") +``` + + + + + + + + + + +![png](index_files/output_15_1.png) + + + + +```python + +``` diff --git a/content/post/2026/using-pandas-for-getting-data-and-analise-them/index_files/output_15_1.png b/content/post/2026/using-pandas-for-getting-data-and-analise-them/index_files/output_15_1.png new file mode 100644 index 00000000..5a7c3e15 Binary files /dev/null and b/content/post/2026/using-pandas-for-getting-data-and-analise-them/index_files/output_15_1.png differ diff --git a/layouts/shortcodes/xkcd.html b/layouts/shortcodes/xkcd.html new file mode 100644 index 00000000..6b84482a --- /dev/null +++ b/layouts/shortcodes/xkcd.html @@ -0,0 +1,17 @@ +{{ $id := string (.Get 0) }} +{{ $url := printf "https://xkcd.com/%s/info.0.json" $id }} + +{{ with resources.GetRemote $url }} +{{ $data := . | transform.Unmarshal }} +
+

Xkcd - {{ $data.title }}

+ + {{ $data.alt }} + +

+ {{ $data.alt }} +

+
+{{ else }} +

Impossibile recuperare il fumetto xkcd #{{ $id }}.

+{{ end }} diff --git a/notescript/using-pandas-for-getting-data-and-analise-them.sh b/notescript/using-pandas-for-getting-data-and-analise-them.sh new file mode 100755 index 00000000..29ee2afa --- /dev/null +++ b/notescript/using-pandas-for-getting-data-and-analise-them.sh @@ -0,0 +1,2 @@ + #! /bin/bash + uv run hugo_nbconvert content/post/2026/using-pandas-for-getting-data-and-analise-them/index.ipynb diff --git a/package-lock.json b/package-lock.json index d8736f0e..e994da1f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -93,9 +93,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", - "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", + "version": "2.10.12", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.12.tgz", + "integrity": "sha512-qyq26DxfY4awP2gIRXhhLWfwzwI+N5Nxk6iQi8EFizIaWIjqicQTE4sLnZZVdeKPRcVNoJOkkpfzoIYuvCKaIQ==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -162,9 +162,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001774", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz", - "integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==", + "version": "1.0.30001781", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001781.tgz", + "integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==", "funding": [ { "type": "opencollective", @@ -253,9 +253,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.302", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", - "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==", + "version": "1.5.328", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.328.tgz", + "integrity": "sha512-QNQ5l45DzYytThO21403XN3FvK0hOkWDG8viNf6jqS42msJ8I4tGDSpBCgvDRRPnkffafiwAym2X2eHeGD2V0w==", "license": "ISC" }, "node_modules/emoji-regex": { @@ -299,9 +299,9 @@ } }, "node_modules/fs-extra": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", - "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "version": "11.3.4", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", + "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", @@ -453,9 +453,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", "license": "MIT" }, "node_modules/normalize-path": { @@ -474,9 +474,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "license": "MIT", "engines": { "node": ">=8.6" @@ -747,9 +747,9 @@ } }, "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "license": "MIT", "engines": { "node": ">=12" @@ -836,9 +836,9 @@ } }, "node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", "license": "ISC", "bin": { "yaml": "bin.mjs" diff --git a/pyproject.toml b/pyproject.toml index 98c06f7e..e6a22dbf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,6 +17,7 @@ dependencies = [ "typer", "python-frontmatter", "bleach", + "matplotlib>=3.10.8", ] [project.entry-points.dotenv] diff --git a/requirements.txt b/requirements.txt index c2b0e301..4ef067ed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,9 +6,9 @@ beautifulsoup4==4.14.3 # via fundor333-github-io bleach==6.3.0 # via fundor333-github-io -certifi==2026.1.4 +certifi==2026.2.25 # via requests -charset-normalizer==3.4.4 +charset-normalizer==3.4.6 # via requests click==8.3.1 # via @@ -16,27 +16,49 @@ click==8.3.1 # weeknotebot colorama==0.4.6 ; sys_platform == 'win32' # via click +contourpy==1.3.3 + # via matplotlib +cycler==0.12.1 + # via matplotlib feedparser==6.0.12 # via # fundor333-github-io # weeknotebot +fonttools==4.62.1 + # via matplotlib idna==3.11 # via requests +kiwisolver==1.5.0 + # via matplotlib lxml==6.0.2 # via fundor333-github-io markdown-it-py==4.0.0 # via rich marshmallow==3.26.2 # via weeknotebot +matplotlib==3.10.8 + # via fundor333-github-io mdurl==0.1.2 # via markdown-it-py +numpy==2.4.4 + # via + # contourpy + # matplotlib packaging==26.0 - # via marshmallow + # via + # marshmallow + # matplotlib pillow==12.1.1 - # via fundor333-github-io -pygments==2.19.2 + # via + # fundor333-github-io + # matplotlib +pygments==2.20.0 # via rich -python-dotenv==1.2.1 +pyparsing==3.3.2 + # via matplotlib +python-dateutil==2.9.0.post0 + # via matplotlib +python-dotenv==1.2.2 # via fundor333-github-io python-frontmatter==1.1.0 # via fundor333-github-io @@ -44,7 +66,7 @@ pyyaml==6.0.3 # via # fundor333-github-io # python-frontmatter -requests==2.32.5 +requests==2.33.0 # via # fundor333-github-io # weeknotebot @@ -56,9 +78,11 @@ sgmllib3k==1.0.0 # via feedparser shellingham==1.5.4 # via typer +six==1.17.0 + # via python-dateutil soupsieve==2.8.3 # via beautifulsoup4 -typer==0.24.0 +typer==0.24.1 # via fundor333-github-io typing-extensions==4.15.0 # via beautifulsoup4 diff --git a/resources/_gen/assets/sass/add.scss_b1f9a4817d6232e434ba2b7151a57cb2.content b/resources/_gen/assets/sass/add.scss_b1f9a4817d6232e434ba2b7151a57cb2.content index f74ca37c..e06a1859 100644 --- a/resources/_gen/assets/sass/add.scss_b1f9a4817d6232e434ba2b7151a57cb2.content +++ b/resources/_gen/assets/sass/add.scss_b1f9a4817d6232e434ba2b7151a57cb2.content @@ -1 +1 @@ -@charset "UTF-8";:root{--blockquote-border-size:4px;--blockquote-background-color:rgb(248 248 248);--heading-border-size:4px;--link-background-color:189, 195, 199;--link-background-opacity:0.5;--link-background-opacity-hover:0.7;--pre-background-color:#272822;--pre-text-color:#f8f8f2;--code-background-color:rgba(0, 0, 0, 0.12);--code-text-color:#808080;--table-border-color:#dadada;--tr-even-background-color:#efefee}@media(prefers-color-scheme:dark){:root{--code-background-color:#272822;--code-text-color:rgba(255, 255, 255, 0.9);--table-border-color:#717171;--tr-even-background-color:#545454;--blockquote-background-color:rgb(75 75 75)}}@keyframes enterIn{0%{opacity:0}100%{opacity:100}}@media only screen and (min-width:768px){#pridecodes-code-corner-svg{width:150px}}@media only screen and (max-width:767px){#pridecodes-code-corner-svg{width:75px}}#pridecodes-code-corner-svg{animation:enterIn 2s;transition:all .2s ease-in-out}#pridecodes-code-corner-svg:hover{transform:scale(1.1);transform-origin:left top}small,section#comments .comment footer,section#comments .comment time,aside p{font-size:smaller;opacity:.9}section#comments #comments-wrapper{margin:1.5em 0;padding:0 var(--card-padding)}section#comments .comment{display:grid;column-gap:1rem;grid-template-areas:"avatar name" "avatar time" "avatar post" "...... interactions";grid-template-columns:min-content;justify-items:start;margin:0 auto 0 -1em;padding:.5em}section#comments .comment.comment-reply{margin:0 auto 0 1em}section#comments .comment .avatar-link{grid-area:avatar;height:4rem;position:relative;width:4rem}section#comments .comment .avatar-link .avatar{height:100%;width:100%;border-radius:20%}section#comments .comment .avatar-link.op::after{background-color:var(--accent-color);border-radius:50%;bottom:-.25rem;color:var(--accent-color-text);content:"✓";display:block;font-size:1.25rem;font-weight:700;height:1.5rem;line-height:1.5rem;position:absolute;right:-.25rem;text-align:center;width:1.5rem}section#comments .comment .author{align-items:center;display:flex;font-weight:700;gap:.5em;grid-area:name}section#comments .comment .author .instance{background-color:var(--code-background-color);border-radius:9999px;color:var(--neutral);font-size:smaller;font-weight:400;padding:.25em .75em}section#comments .comment .author .instance:hover{opacity:.8;text-decoration:none}section#comments .comment .author .instance.op{background-color:var(--code-background-color);color:var(--accent-color-text)}section#comments .comment .author .instance.op::before{content:"✓";font-weight:700;margin-inline-end:.25em}section#comments .comment time{grid-area:time;line-height:1.5rem}section#comments .comment main{grid-area:post}section#comments .comment main p:first-child{margin-top:.25em}section#comments .comment main p:last-child{margin-bottom:0}section#comments .comment footer{grid-area:interactions}section#comments .comment footer .faves{color:inherit}section#comments .comment footer .faves:hover{opacity:.8;text-decoration:none}section#comments .comment footer .faves::before{color:red;content:"♥";font-size:2rem;margin-inline-end:.25em}section#comments .comment .emoji{display:inline;height:1.25em;vertical-align:middle;width:1.25em}section#comments .comment .invisible{display:none}section#comments .comment .ellipsis::after{content:"…"}#webmentions{margin:0;position:relative;z-index:100;line-height:1.2em}#webmentions .comments{overflow-x:hidden;overflow-y:scroll}#webmentions h2{font-size:medium;margin:0;padding:2px}#webmentions .reacts img{margin:3px -1ex 8px 0}#webmentions img.missing{border:dashed #000 1px}#webmentions ul{list-style-type:none;margin:0;padding:4px}#webmentions li{text-indent:-1em;padding-left:1em}#webmentions a.reaction{position:relative;text-decoration:none;margin-right:0;letter-spacing:-1ex;margin-right:3ex}#webmentions a.reaction img{max-height:3em;width:auto;margin-right:-1ex;border-radius:25%}#webmentions a.reaction sub{font-size:50%}#webmentions .comments li{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#webmentions .comments li .text{font-style:italic;text-decoration:none}.author{margin:0}.menu .trigger{float:left;display:flex;align-items:center}@media screen and (max-width:768px){.menu .menu-icon{position:relative}}.center-img{display:flex;justify-content:center;width:80%}.toot{--toot-bg:var(--entry);--toot-border:rgba(0, 0, 0, 0.1);--toot-radius:12px;--toot-shadow:0 1px 3px rgba(0, 0, 0, 0.1);background:var(--toot-bg);border:1px solid var(--toot-border);border-radius:var(--toot-radius);box-shadow:var(--toot-shadow);padding:16px;margin:1.5rem auto;max-width:600px;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.dark .toot{--toot-border:rgba(255, 255, 255, 0.1);--toot-shadow:0 1px 3px rgba(0, 0, 0, 0.2)}.toot-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.toot-profile img{width:48px;height:48px;border-radius:4px;display:block}.toot-author{display:flex;flex-direction:column;gap:2px}.toot-author-name{color:var(--primary);font-weight:700;text-decoration:none;font-size:15px;line-height:20px}.toot-author-handle{color:var(--secondary);text-decoration:none;font-size:14px;line-height:18px}.toot-content{color:var(--content);font-size:15px;line-height:1.5;margin:12px 0}.toot-content p{margin:0 0 12px}.toot-content p:last-child{margin-bottom:0}.toot-content a{color:#2b90d9;text-decoration:none}.toot-content a:hover{text-decoration:underline}.toot-media-grid{display:grid;grid-gap:8px;margin:12px 0;border-radius:12px;overflow:hidden}.toot-media-grid[data-count="1"]{grid-template-columns:1fr}.toot-media-grid[data-count="2"]{grid-template-columns:repeat(2,1fr)}.toot-media-grid[data-count="3"]{grid-template-columns:repeat(2,1fr)}.toot-media-grid[data-count="3"]>:first-child{grid-column:1/-1}.toot-media-grid[data-count="4"]{grid-template-columns:repeat(2,1fr)}.toot-media-item img{width:100%;height:auto;display:block;border-radius:4px}.toot-footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--toot-border);color:var(--secondary);font-size:14px}.toot-date{color:inherit;text-decoration:none}.toot-date:hover{text-decoration:underline}.page-content a[target=_blank]::after{content:none}.weeknote img{width:140px}share-button{position:fixed;width:60px;height:60px;bottom:40px;left:40px;color:#fff;background-color:#0c9;border-radius:50px;text-align:center}share-button button{background-color:initial;border:none;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;appearance:none}share-button:not(:defined){display:none}share-button:not(:defined) button{display:none}share-button:defined{display:none}share-button:defined a{display:none}.my-float{margin-top:22px}@font-face{font-family:typewriter;src:url("/fonts/American Typewriter Regular.ttf")}.typewriter{font-family:typewriter,monospace}input[type=text]{width:100%;font-size:1rem;border-radius:.5em;padding:.5em} \ No newline at end of file +@charset "UTF-8";@import "https://fonts.googleapis.com/css2?family=Audiowide&family=Rajdhani:wght@300;400;500;600;700&display=swap";:root{--blockquote-border-size:4px;--blockquote-background-color:rgb(248 248 248);--heading-border-size:4px;--link-background-color:189, 195, 199;--link-background-opacity:0.5;--link-background-opacity-hover:0.7;--pre-background-color:#272822;--pre-text-color:#f8f8f2;--code-background-color:rgba(0, 0, 0, 0.12);--code-text-color:#808080;--table-border-color:#dadada;--tr-even-background-color:#efefee}@media(prefers-color-scheme:dark){:root{--code-background-color:#272822;--code-text-color:rgba(255, 255, 255, 0.9);--table-border-color:#717171;--tr-even-background-color:#545454;--blockquote-background-color:rgb(75 75 75)}}body{font-family:rajdhani,sans-serif;font-weight:400;font-style:normal}h1,h2,h3,h4,h5,h6{font-family:audiowide,sans-serif}strong{font-family:audiowide,sans-serif;font-weight:400;font-size:14px}@keyframes enterIn{0%{opacity:0}100%{opacity:100}}@media only screen and (min-width:768px){#pridecodes-code-corner-svg{width:150px}}@media only screen and (max-width:767px){#pridecodes-code-corner-svg{width:75px}}#pridecodes-code-corner-svg{animation:enterIn 2s;transition:all .2s ease-in-out}#pridecodes-code-corner-svg:hover{transform:scale(1.1);transform-origin:left top}small,section#comments .comment footer,section#comments .comment time,aside p{font-size:smaller;opacity:.9}section#comments #comments-wrapper{margin:1.5em 0;padding:0 var(--card-padding)}section#comments .comment{display:grid;column-gap:1rem;grid-template-areas:"avatar name" "avatar time" "avatar post" "...... interactions";grid-template-columns:min-content;justify-items:start;margin:0 auto 0 -1em;padding:.5em}section#comments .comment.comment-reply{margin:0 auto 0 1em}section#comments .comment .avatar-link{grid-area:avatar;height:4rem;position:relative;width:4rem}section#comments .comment .avatar-link .avatar{height:100%;width:100%;border-radius:20%}section#comments .comment .avatar-link.op::after{background-color:var(--accent-color);border-radius:50%;bottom:-.25rem;color:var(--accent-color-text);content:"✓";display:block;font-size:1.25rem;font-weight:700;height:1.5rem;line-height:1.5rem;position:absolute;right:-.25rem;text-align:center;width:1.5rem}section#comments .comment .author{align-items:center;display:flex;font-weight:700;gap:.5em;grid-area:name}section#comments .comment .author .instance{background-color:var(--code-background-color);border-radius:9999px;color:var(--neutral);font-size:smaller;font-weight:400;padding:.25em .75em}section#comments .comment .author .instance:hover{opacity:.8;text-decoration:none}section#comments .comment .author .instance.op{background-color:var(--code-background-color);color:var(--accent-color-text)}section#comments .comment .author .instance.op::before{content:"✓";font-weight:700;margin-inline-end:.25em}section#comments .comment time{grid-area:time;line-height:1.5rem}section#comments .comment main{grid-area:post}section#comments .comment main p:first-child{margin-top:.25em}section#comments .comment main p:last-child{margin-bottom:0}section#comments .comment footer{grid-area:interactions}section#comments .comment footer .faves{color:inherit}section#comments .comment footer .faves:hover{opacity:.8;text-decoration:none}section#comments .comment footer .faves::before{color:red;content:"♥";font-size:2rem;margin-inline-end:.25em}section#comments .comment .emoji{display:inline;height:1.25em;vertical-align:middle;width:1.25em}section#comments .comment .invisible{display:none}section#comments .comment .ellipsis::after{content:"…"}#webmentions{margin:0;position:relative;z-index:100;line-height:1.2em}#webmentions .comments{overflow-x:hidden;overflow-y:scroll}#webmentions h2{font-size:medium;margin:0;padding:2px}#webmentions .reacts img{margin:3px -1ex 8px 0}#webmentions img.missing{border:dashed #000 1px}#webmentions ul{list-style-type:none;margin:0;padding:4px}#webmentions li{text-indent:-1em;padding-left:1em}#webmentions a.reaction{position:relative;text-decoration:none;margin-right:0;letter-spacing:-1ex;margin-right:3ex}#webmentions a.reaction img{max-height:3em;width:auto;margin-right:-1ex;border-radius:25%}#webmentions a.reaction sub{font-size:50%}#webmentions .comments li{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#webmentions .comments li .text{font-style:italic;text-decoration:none}.author{margin:0}.menu .trigger{float:left;display:flex;align-items:center}@media screen and (max-width:768px){.menu .menu-icon{position:relative}}.menu-link{font-family:audiowide,sans-serif;font-weight:400;font-style:normal}.center-img{display:flex;justify-content:center;width:80%}.toot{--toot-bg:var(--entry);--toot-border:rgba(0, 0, 0, 0.1);--toot-radius:12px;--toot-shadow:0 1px 3px rgba(0, 0, 0, 0.1);background:var(--toot-bg);border:1px solid var(--toot-border);border-radius:var(--toot-radius);box-shadow:var(--toot-shadow);padding:16px;margin:1.5rem auto;max-width:600px;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.dark .toot{--toot-border:rgba(255, 255, 255, 0.1);--toot-shadow:0 1px 3px rgba(0, 0, 0, 0.2)}.toot-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.toot-profile img{width:48px;height:48px;border-radius:4px;display:block}.toot-author{display:flex;flex-direction:column;gap:2px}.toot-author-name{color:var(--primary);font-weight:700;text-decoration:none;font-size:15px;line-height:20px}.toot-author-handle{color:var(--secondary);text-decoration:none;font-size:14px;line-height:18px}.toot-content{color:var(--content);font-size:15px;line-height:1.5;margin:12px 0}.toot-content p{margin:0 0 12px}.toot-content p:last-child{margin-bottom:0}.toot-content a{color:#2b90d9;text-decoration:none}.toot-content a:hover{text-decoration:underline}.toot-media-grid{display:grid;grid-gap:8px;margin:12px 0;border-radius:12px;overflow:hidden}.toot-media-grid[data-count="1"]{grid-template-columns:1fr}.toot-media-grid[data-count="2"]{grid-template-columns:repeat(2,1fr)}.toot-media-grid[data-count="3"]{grid-template-columns:repeat(2,1fr)}.toot-media-grid[data-count="3"]>:first-child{grid-column:1/-1}.toot-media-grid[data-count="4"]{grid-template-columns:repeat(2,1fr)}.toot-media-item img{width:100%;height:auto;display:block;border-radius:4px}.toot-footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--toot-border);color:var(--secondary);font-size:14px}.toot-date{color:inherit;text-decoration:none}.toot-date:hover{text-decoration:underline}.page-content a[target=_blank]::after{content:none}.weeknote img{width:140px}share-button{position:fixed;width:60px;height:60px;bottom:40px;left:40px;color:#fff;background-color:#0c9;border-radius:50px;text-align:center}share-button button{background-color:initial;border:none;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;appearance:none}share-button:not(:defined){display:none}share-button:not(:defined) button{display:none}share-button:defined{display:none}share-button:defined a{display:none}.my-float{margin-top:22px}@font-face{font-family:typewriter;src:url("/fonts/American Typewriter Regular.ttf")}.typewriter{font-family:typewriter,monospace}input[type=text]{width:100%;font-size:1rem;border-radius:.5em;padding:.5em}.xkcd-image{display:flex;justify-content:center;width:100%}.xkcd-title{font-family:audiowide,sans-serif;font-weight:400;font-style:normal;font-size:1.5em}.xkcd-subtitle{font-size:.8rem;color:#666;margin-top:.5rem} \ No newline at end of file diff --git a/resources/_gen/assets/sass/add.scss_b1f9a4817d6232e434ba2b7151a57cb2.json b/resources/_gen/assets/sass/add.scss_b1f9a4817d6232e434ba2b7151a57cb2.json index b748eba2..1db43802 100644 --- a/resources/_gen/assets/sass/add.scss_b1f9a4817d6232e434ba2b7151a57cb2.json +++ b/resources/_gen/assets/sass/add.scss_b1f9a4817d6232e434ba2b7151a57cb2.json @@ -1 +1 @@ -{"Target":"add.min.33d130b2d4f20152c6ed4410e3edc02aff59e77cae5bac84015541343a158ffb.css","MediaType":"text/css","Data":{"Integrity":"sha256-M9EwstTyAVLG7UQQ4+3AKv9Z53yuW6yEAVVBNDoVj/s="}} \ No newline at end of file +{"Target":"add.min.855eeee13cf87b04c5f2dc5d26fbb0ee43b90357d4d210186eebe753d1055101.css","MediaType":"text/css","Data":{"Integrity":"sha256-hV7u4Tz4ewTF8txdJvuw7kO5A1fU0hAYbuvnU9EFUQE="}} \ No newline at end of file diff --git a/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_db8f8025b43fc3e2.json b/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_db8f8025b43fc3e2.json index 2f8ffd15..7cd4ad1a 100644 --- a/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_db8f8025b43fc3e2.json +++ b/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_db8f8025b43fc3e2.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-08-03T18:13:41+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 5.600000670860214, - "BrightnessValue|*imagemeta.rat[int32]": "431/50", - "CreateDate": "2024:08:03 18:13:41", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:08:03 18:13:41", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/950", - "FNumber|*imagemeta.rat[uint32]": "28/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "320", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:19 00:13:49", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "1", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.001052631362406979, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-08-03T18:13:41+02:00","Tags":{"ApertureValue":5.600000670860214,"BrightnessValue|*imagemeta.rat[int32]":"431/50","CreateDate":"2024:08:03 18:13:41","CustomRendered|uint16":"0","DateTimeOriginal":"2024:08:03 18:13:41","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/950","FNumber|*imagemeta.rat[uint32]":"28/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"320","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:19 00:13:49","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"1","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.001052631362406979,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/green-teapot/DSCF0134_7e609ddd31b126cf.json b/resources/_gen/images/photos/2024/green-teapot/DSCF0134_7e609ddd31b126cf.json index f9f409b4..a71d7010 100644 --- a/resources/_gen/images/photos/2024/green-teapot/DSCF0134_7e609ddd31b126cf.json +++ b/resources/_gen/images/photos/2024/green-teapot/DSCF0134_7e609ddd31b126cf.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-07-02T16:15:14+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-23/25", - "CreateDate": "2024:07:02 16:15:14", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:07:02 16:15:14", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/60", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "640", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:21 23:47:45", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.016666661994953737, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-07-02T16:15:14+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-23/25","CreateDate":"2024:07:02 16:15:14","CustomRendered|uint16":"0","DateTimeOriginal":"2024:07:02 16:15:14","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/60","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"640","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:21 23:47:45","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.016666661994953737,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_f96cb08fdf5d321f.json b/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_f96cb08fdf5d321f.json index 866dda0a..777f4412 100644 --- a/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_f96cb08fdf5d321f.json +++ b/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_f96cb08fdf5d321f.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-06-30T01:34:05+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-579/100", - "CreateDate": "2024:06:30 01:34:05", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:06:30 01:34:05", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/30", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "12800", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:21 23:41:33", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.033333323989907473, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-06-30T01:34:05+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-579/100","CreateDate":"2024:06:30 01:34:05","CustomRendered|uint16":"0","DateTimeOriginal":"2024:06:30 01:34:05","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/30","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"12800","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:21 23:41:33","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.033333323989907473,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_d4b7e7baf50f1bb6.json b/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_d4b7e7baf50f1bb6.json index 69e087b5..f96eebcb 100644 --- a/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_d4b7e7baf50f1bb6.json +++ b/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_d4b7e7baf50f1bb6.json @@ -1,36 +1 @@ -{ - "Exif": { - "Date": "2024-12-22T00:34:40+01:00", - "Lat": 45.429491666666664, - "Long": 12.326361666666667, - "Tags": { - "ApertureValue": 1.499999999250199, - "BrightnessValue|*imagemeta.rat[int32]": "-19509/6919", - "Copyright": "© fundor333", - "CreateDate": "2024:12:22 00:34:40", - "DateTimeOriginal": "2024:12:22 00:34:40", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/25", - "FNumber|*imagemeta.rat[uint32]": "3/2", - "FocalLengthIn35mmFormat|uint16": "26", - "FocalLength|*imagemeta.rat[uint32]": "57/10", - "ISO|uint16": "1000", - "LensInfo": "1.5399999618512084 5.699999809263318 1.5 2.4", - "LensMake": "Apple", - "LensModel": "iPhone 14 back dual wide camera 5.7mm f/1.5", - "Make": "Apple", - "Model": "iPhone 14", - "ModifyDate": "2024:12:23 12:41:02", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+01:00", - "OffsetTimeOriginal": "+01:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "ShutterSpeedValue": 0.040000005261672945, - "Software": "Adobe Lightroom 10.1.1 (iOS)", - "SubSecTimeDigitized|int": "347", - "SubSecTimeOriginal|int": "347", - "SubjectArea": "2006 1506 2213 1327" - } - } -} +{"Exif":{"Lat":45.429491666666664,"Long":12.326361666666667,"Date":"2024-12-22T00:34:40+01:00","Tags":{"ApertureValue":1.499999999250199,"BrightnessValue|*imagemeta.rat[int32]":"-19509/6919","Copyright":"© fundor333","CreateDate":"2024:12:22 00:34:40","DateTimeOriginal":"2024:12:22 00:34:40","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/25","FNumber|*imagemeta.rat[uint32]":"3/2","FocalLengthIn35mmFormat|uint16":"26","FocalLength|*imagemeta.rat[uint32]":"57/10","ISO|uint16":"1000","LensInfo":"1.5399999618512084 5.699999809263318 1.5 2.4","LensMake":"Apple","LensModel":"iPhone 14 back dual wide camera 5.7mm f/1.5","Make":"Apple","Model":"iPhone 14","ModifyDate":"2024:12:23 12:41:02","OffsetTime":"+01:00","OffsetTimeDigitized":"+01:00","OffsetTimeOriginal":"+01:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","ShutterSpeedValue":0.040000005261672945,"Software":"Adobe Lightroom 10.1.1 (iOS)","SubSecTimeDigitized|int":"347","SubSecTimeOriginal|int":"347","SubjectArea":"2006 1506 2213 1327"}}} diff --git a/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_b5c2e1d8993e9126.json b/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_b5c2e1d8993e9126.json index 9b90b16c..415c5561 100644 --- a/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_b5c2e1d8993e9126.json +++ b/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_b5c2e1d8993e9126.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-07-22T00:33:19+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-227/50", - "CreateDate": "2024:07:22 00:33:19", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:07:22 00:33:19", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/17", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "6400", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:09:17 00:02:07", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "1", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.05882352293900745, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-07-22T00:33:19+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-227/50","CreateDate":"2024:07:22 00:33:19","CustomRendered|uint16":"0","DateTimeOriginal":"2024:07:22 00:33:19","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/17","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"6400","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:09:17 00:02:07","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"1","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.05882352293900745,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_cff2e6eed4d95a73.json b/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_cff2e6eed4d95a73.json index 4f4b3712..0efe4757 100644 --- a/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_cff2e6eed4d95a73.json +++ b/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_cff2e6eed4d95a73.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-08-18T23:12:59+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-589/100", - "CreateDate": "2024:08:18 23:12:59", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:08:18 23:12:59", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/17", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "27", - "FocalLength|*imagemeta.rat[uint32]": "18", - "ISO|uint16": "6400", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:09:16 23:58:04", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "3", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.05882352293900745, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-08-18T23:12:59+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-589/100","CreateDate":"2024:08:18 23:12:59","CustomRendered|uint16":"0","DateTimeOriginal":"2024:08:18 23:12:59","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/17","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"27","FocalLength|*imagemeta.rat[uint32]":"18","ISO|uint16":"6400","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:09:16 23:58:04","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"3","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.05882352293900745,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_d111665b538f1dcb.json b/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_d111665b538f1dcb.json index 2c1ae6bd..f525de68 100644 --- a/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_d111665b538f1dcb.json +++ b/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_d111665b538f1dcb.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-08-03T18:36:34+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 5.600000670860214, - "BrightnessValue|*imagemeta.rat[int32]": "939/100", - "CreateDate": "2024:08:03 18:36:34", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:08:03 18:36:34", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/850", - "FNumber|*imagemeta.rat[uint32]": "28/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "320", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:19 00:13:48", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "1", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.0011764706135352194, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-08-03T18:36:34+02:00","Tags":{"ApertureValue":5.600000670860214,"BrightnessValue|*imagemeta.rat[int32]":"939/100","CreateDate":"2024:08:03 18:36:34","CustomRendered|uint16":"0","DateTimeOriginal":"2024:08:03 18:36:34","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/850","FNumber|*imagemeta.rat[uint32]":"28/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"320","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:19 00:13:48","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"1","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.0011764706135352194,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_36d1423007229f28.json b/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_36d1423007229f28.json index 728a2048..b8c62959 100644 --- a/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_36d1423007229f28.json +++ b/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_36d1423007229f28.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-06-30T01:31:49+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-19/5", - "CreateDate": "2024:06:30 01:31:49", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:06:30 01:31:49", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/125", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "12800", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:30 02:34:39", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.008000001578501939, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-06-30T01:31:49+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-19/5","CreateDate":"2024:06:30 01:31:49","CustomRendered|uint16":"0","DateTimeOriginal":"2024:06:30 01:31:49","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/125","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"12800","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:30 02:34:39","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.008000001578501939,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_d8c0d0897890bfa1.json b/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_d8c0d0897890bfa1.json index a22f5911..6482d538 100644 --- a/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_d8c0d0897890bfa1.json +++ b/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_d8c0d0897890bfa1.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-08-03T15:33:26+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4.499999995501194, - "BrightnessValue|*imagemeta.rat[int32]": "977/100", - "CreateDate": "2024:08:03 15:33:26", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:08:03 15:33:26", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/2400", - "FNumber|*imagemeta.rat[uint32]": "9/2", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "320", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:09:16 23:56:43", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "2", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.00041666657727838156, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-08-03T15:33:26+02:00","Tags":{"ApertureValue":4.499999995501194,"BrightnessValue|*imagemeta.rat[int32]":"977/100","CreateDate":"2024:08:03 15:33:26","CustomRendered|uint16":"0","DateTimeOriginal":"2024:08:03 15:33:26","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/2400","FNumber|*imagemeta.rat[uint32]":"9/2","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"320","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:09:16 23:56:43","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"2","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.00041666657727838156,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_51b8cefe8a1f34bf.json b/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_51b8cefe8a1f34bf.json index 1936bf2f..82645418 100644 --- a/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_51b8cefe8a1f34bf.json +++ b/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_51b8cefe8a1f34bf.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-06-30T01:35:50+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-29/10", - "CreateDate": "2024:06:30 01:35:50", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:06:30 01:35:50", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/250", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "10000", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:21 23:43:26", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.004000000789250969, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-06-30T01:35:50+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-29/10","CreateDate":"2024:06:30 01:35:50","CustomRendered|uint16":"0","DateTimeOriginal":"2024:06:30 01:35:50","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/250","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"10000","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:21 23:43:26","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.004000000789250969,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/orange-boats/DSCF0154_9c136205ad008316.json b/resources/_gen/images/photos/2024/orange-boats/DSCF0154_9c136205ad008316.json index ea91c7b2..24fce7c2 100644 --- a/resources/_gen/images/photos/2024/orange-boats/DSCF0154_9c136205ad008316.json +++ b/resources/_gen/images/photos/2024/orange-boats/DSCF0154_9c136205ad008316.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-07-21T19:38:51+02:00", - "Lat": 45.436871, - "Long": 12.323697, - "Tags": { - "ApertureValue": 4.999999671145473, - "BrightnessValue|*imagemeta.rat[int32]": "559/100", - "CreateDate": "2024:07:21 19:38:51", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:07:21 19:38:51", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/350", - "FNumber|*imagemeta.rat[uint32]": "5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "640", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "1", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:09:16 23:59:15", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.0028571430786179025, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":45.436871,"Long":12.323697,"Date":"2024-07-21T19:38:51+02:00","Tags":{"ApertureValue":4.999999671145473,"BrightnessValue|*imagemeta.rat[int32]":"559/100","CreateDate":"2024:07:21 19:38:51","CustomRendered|uint16":"0","DateTimeOriginal":"2024:07:21 19:38:51","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/350","FNumber|*imagemeta.rat[uint32]":"5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"640","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"1","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:09:16 23:59:15","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.0028571430786179025,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_3c6b89f610dfc9a9.json b/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_3c6b89f610dfc9a9.json index 9904c174..e72a235b 100644 --- a/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_3c6b89f610dfc9a9.json +++ b/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_3c6b89f610dfc9a9.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2024-09-14T19:27:12+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "69/50", - "Copyright": "© fundor333", - "CreateDate": "2024:09:14 19:27:12", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:09:14 19:27:12", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/100", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "1250", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:09:16 23:23:08", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.010000001315418236, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-09-14T19:27:12+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"69/50","Copyright":"© fundor333","CreateDate":"2024:09:14 19:27:12","CustomRendered|uint16":"0","DateTimeOriginal":"2024:09:14 19:27:12","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/100","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"1250","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:09:16 23:23:08","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.010000001315418236,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_b42c26f5c485b7cd.json b/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_b42c26f5c485b7cd.json index 70cc3f4a..21f59b86 100644 --- a/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_b42c26f5c485b7cd.json +++ b/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_b42c26f5c485b7cd.json @@ -1,40 +1 @@ -{ - "Exif": { - "Date": "2024-06-30T01:39:12+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-141/50", - "CreateDate": "2024:06:30 01:39:12", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:06:30 01:39:12", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/250", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "6400", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:21 23:44:44", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.004000000789250969, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-06-30T01:39:12+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-141/50","CreateDate":"2024:06:30 01:39:12","CustomRendered|uint16":"0","DateTimeOriginal":"2024:06:30 01:39:12","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/250","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"6400","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:21 23:44:44","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.004000000789250969,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_190d116be0b83d5a.json b/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_190d116be0b83d5a.json index da9a6e84..438171e4 100644 --- a/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_190d116be0b83d5a.json +++ b/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_190d116be0b83d5a.json @@ -1,37 +1 @@ -{ - "Exif": { - "Date": "2024-05-23T13:36:52+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 3.500000189089437, - "Artist": "Fundor333", - "CreateDate": "2024:05:23 14:36:52", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:05:23 13:36:52", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/6", - "FNumber|*imagemeta.rat[uint32]": "7/2", - "FocalLength|*imagemeta.rat[uint32]": "35", - "ISO|uint16": "320", - "LensInfo": "35 35 undef undef", - "LensModel": "RF35mm F1.8 MACRO IS STM", - "LensSerialNumber": "3732004227", - "Make": "Canon", - "MaxApertureValue": 1.8340080864093424, - "Model": "Canon EOS R5", - "ModifyDate": "2024:09:16 23:41:59", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+01:00", - "RecommendedExposureIndex|uint32": "320", - "SceneCaptureType|uint16": "0", - "SensitivityType|uint16": "2", - "SerialNumber": "253026001930", - "ShutterSpeedValue": 0.16666660898772281, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubSecTimeDigitized|int": "570", - "SubSecTimeOriginal|int": "57" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2024-05-23T13:36:52+02:00","Tags":{"ApertureValue":3.500000189089437,"Artist":"Fundor333","CreateDate":"2024:05:23 14:36:52","CustomRendered|uint16":"0","DateTimeOriginal":"2024:05:23 13:36:52","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/6","FNumber|*imagemeta.rat[uint32]":"7/2","FocalLength|*imagemeta.rat[uint32]":"35","ISO|uint16":"320","LensInfo":"35 35 undef undef","LensModel":"RF35mm F1.8 MACRO IS STM","LensSerialNumber":"3732004227","Make":"Canon","MaxApertureValue":1.8340080864093424,"Model":"Canon EOS R5","ModifyDate":"2024:09:16 23:41:59","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+01:00","RecommendedExposureIndex|uint32":"320","SceneCaptureType|uint16":"0","SensitivityType|uint16":"2","SerialNumber":"253026001930","ShutterSpeedValue":0.16666660898772281,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubSecTimeDigitized|int":"570","SubSecTimeOriginal|int":"57"}}} diff --git a/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_e3635f4f9d0c9c5a.json b/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_e3635f4f9d0c9c5a.json index c2467acd..c0132d6c 100644 --- a/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_e3635f4f9d0c9c5a.json +++ b/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_e3635f4f9d0c9c5a.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2025-01-28T18:21:27+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4.499999995501194, - "BrightnessValue|*imagemeta.rat[int32]": "43/50", - "Copyright": "© fundor333", - "CreateDate": "2025:01:28 18:21:27", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:28 18:21:27", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/250", - "FNumber|*imagemeta.rat[uint32]": "9/2", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "83", - "FocalLength|*imagemeta.rat[uint32]": "55", - "ISO|uint16": "6400", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:28 17:28:12", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.004000000789250969, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-28T18:21:27+01:00","Tags":{"ApertureValue":4.499999995501194,"BrightnessValue|*imagemeta.rat[int32]":"43/50","Copyright":"© fundor333","CreateDate":"2025:01:28 18:21:27","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:28 18:21:27","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/250","FNumber|*imagemeta.rat[uint32]":"9/2","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"83","FocalLength|*imagemeta.rat[uint32]":"55","ISO|uint16":"6400","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:28 17:28:12","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.004000000789250969,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/green-with-flower/_D0A1901_c8ac2b48a122b64e.json b/resources/_gen/images/photos/2025/green-with-flower/_D0A1901_c8ac2b48a122b64e.json index dba07ff3..7b49d82d 100644 --- a/resources/_gen/images/photos/2025/green-with-flower/_D0A1901_c8ac2b48a122b64e.json +++ b/resources/_gen/images/photos/2025/green-with-flower/_D0A1901_c8ac2b48a122b64e.json @@ -1,38 +1 @@ -{ - "Exif": { - "Date": "2025-05-03T12:21:15+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "Artist": "Fundor333", - "Copyright": "© fundor333", - "CreateDate": "2025:05:03 12:21:15", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:05:03 12:21:15", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/200", - "FNumber|*imagemeta.rat[uint32]": "4", - "FocalLength|*imagemeta.rat[uint32]": "70", - "ISO|uint16": "125", - "LensInfo": "70 200 undef undef", - "LensModel": "RF70-200mm F4 L IS USM", - "LensSerialNumber": "2033000253", - "Make": "Canon", - "MaxApertureValue": 4, - "Model": "Canon EOS R5", - "ModifyDate": "2025:05:05 09:41:07", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+01:00", - "OffsetTimeOriginal": "+01:00", - "RecommendedExposureIndex|uint32": "125", - "SceneCaptureType|uint16": "0", - "SensitivityType|uint16": "2", - "SerialNumber": "253026001930", - "ShutterSpeedValue": 0.005000000657709118, - "Software": "Adobe Lightroom 8.3 (Macintosh)", - "SubSecTimeDigitized|int": "5", - "SubSecTimeOriginal|int": "5" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-05-03T12:21:15+02:00","Tags":{"ApertureValue":4,"Artist":"Fundor333","Copyright":"© fundor333","CreateDate":"2025:05:03 12:21:15","CustomRendered|uint16":"0","DateTimeOriginal":"2025:05:03 12:21:15","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/200","FNumber|*imagemeta.rat[uint32]":"4","FocalLength|*imagemeta.rat[uint32]":"70","ISO|uint16":"125","LensInfo":"70 200 undef undef","LensModel":"RF70-200mm F4 L IS USM","LensSerialNumber":"2033000253","Make":"Canon","MaxApertureValue":4,"Model":"Canon EOS R5","ModifyDate":"2025:05:05 09:41:07","OffsetTime":"+02:00","OffsetTimeDigitized":"+01:00","OffsetTimeOriginal":"+01:00","RecommendedExposureIndex|uint32":"125","SceneCaptureType|uint16":"0","SensitivityType|uint16":"2","SerialNumber":"253026001930","ShutterSpeedValue":0.005000000657709118,"Software":"Adobe Lightroom 8.3 (Macintosh)","SubSecTimeDigitized|int":"5","SubSecTimeOriginal|int":"5"}}} diff --git a/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_7c84a2f4c13ceefa.json b/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_7c84a2f4c13ceefa.json index 400afd58..fe8ef284 100644 --- a/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_7c84a2f4c13ceefa.json +++ b/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_7c84a2f4c13ceefa.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2025-02-23T00:05:09+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "-83/25", - "Copyright": "© fundor333", - "CreateDate": "2025:02:23 00:05:09", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:02:23 00:05:09", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/13", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "69", - "FocalLength|*imagemeta.rat[uint32]": "463/10", - "ISO|uint16": "6400", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:02:23 01:50:40", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+01:00", - "OffsetTimeOriginal": "+01:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.07692306189463938, - "Software": "Adobe Lightroom 8.2 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-02-23T00:05:09+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"-83/25","Copyright":"© fundor333","CreateDate":"2025:02:23 00:05:09","CustomRendered|uint16":"0","DateTimeOriginal":"2025:02:23 00:05:09","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/13","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"69","FocalLength|*imagemeta.rat[uint32]":"463/10","ISO|uint16":"6400","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:02:23 01:50:40","OffsetTime":"+01:00","OffsetTimeDigitized":"+01:00","OffsetTimeOriginal":"+01:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.07692306189463938,"Software":"Adobe Lightroom 8.2 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_cfc82aeb77e08dbc.json b/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_cfc82aeb77e08dbc.json index 210b6c3e..c06b555f 100644 --- a/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_cfc82aeb77e08dbc.json +++ b/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_cfc82aeb77e08dbc.json @@ -1,35 +1 @@ -{ - "Exif": { - "Date": "2025-01-05T00:35:13+01:00", - "Lat": 45.429936, - "Long": 12.325892, - "Tags": { - "ApertureValue": 1.499999999250199, - "BrightnessValue|*imagemeta.rat[int32]": "-35707/8571", - "Copyright": "© fundor333", - "CreateDate": "2025:01:05 00:35:13", - "DateTimeOriginal": "2025:01:05 00:35:13", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/17", - "FNumber|*imagemeta.rat[uint32]": "3/2", - "FocalLengthIn35mmFormat|uint16": "26", - "FocalLength|*imagemeta.rat[uint32]": "57/10", - "ISO|uint16": "1600", - "LensInfo": "1.5399999618512084 5.7 1.5 2.4", - "LensMake": "Apple", - "LensModel": "iPhone 14 back dual wide camera 5.7mm f/1.5", - "Make": "Apple", - "Model": "iPhone 14", - "ModifyDate": "2025:01:05 15:01:55", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+01:00", - "OffsetTimeOriginal": "+01:00", - "SceneType|uint8": "1", - "ShutterSpeedValue": 0.05882352293900745, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubSecTimeDigitized|int": "953", - "SubSecTimeOriginal|int": "953", - "SubjectArea": "2006 1506 2213 1327" - } - } -} +{"Exif":{"Lat":45.429936,"Long":12.325892,"Date":"2025-01-05T00:35:13+01:00","Tags":{"ApertureValue":1.499999999250199,"BrightnessValue|*imagemeta.rat[int32]":"-35707/8571","Copyright":"© fundor333","CreateDate":"2025:01:05 00:35:13","DateTimeOriginal":"2025:01:05 00:35:13","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/17","FNumber|*imagemeta.rat[uint32]":"3/2","FocalLengthIn35mmFormat|uint16":"26","FocalLength|*imagemeta.rat[uint32]":"57/10","ISO|uint16":"1600","LensInfo":"1.5399999618512084 5.7 1.5 2.4","LensMake":"Apple","LensModel":"iPhone 14 back dual wide camera 5.7mm f/1.5","Make":"Apple","Model":"iPhone 14","ModifyDate":"2025:01:05 15:01:55","OffsetTime":"+01:00","OffsetTimeDigitized":"+01:00","OffsetTimeOriginal":"+01:00","SceneType|uint8":"1","ShutterSpeedValue":0.05882352293900745,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubSecTimeDigitized|int":"953","SubSecTimeOriginal|int":"953","SubjectArea":"2006 1506 2213 1327"}}} diff --git a/resources/_gen/images/photos/2025/orange-pub-with-light/DSCF0631_76fbf8cb26ee65f.json b/resources/_gen/images/photos/2025/orange-pub-with-light/DSCF0631_76fbf8cb26ee65f.json index ffb7d5e2..09371e74 100644 --- a/resources/_gen/images/photos/2025/orange-pub-with-light/DSCF0631_76fbf8cb26ee65f.json +++ b/resources/_gen/images/photos/2025/orange-pub-with-light/DSCF0631_76fbf8cb26ee65f.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2025-05-01T21:21:22+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-53/50", - "Copyright": "© fundor333", - "CreateDate": "2025:05:01 21:21:22", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:05:01 21:21:22", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/50", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "5000", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:05:01 23:39:54", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+01:00", - "OffsetTimeOriginal": "+01:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.020000002630836473, - "Software": "Adobe Lightroom 8.3 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-05-01T21:21:22+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-53/50","Copyright":"© fundor333","CreateDate":"2025:05:01 21:21:22","CustomRendered|uint16":"0","DateTimeOriginal":"2025:05:01 21:21:22","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/50","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"5000","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:05:01 23:39:54","OffsetTime":"+02:00","OffsetTimeDigitized":"+01:00","OffsetTimeOriginal":"+01:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.020000002630836473,"Software":"Adobe Lightroom 8.3 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_5ddb9375851fad0b.json b/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_5ddb9375851fad0b.json index 7a1a22df..a11348a6 100644 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_5ddb9375851fad0b.json +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_5ddb9375851fad0b.json @@ -1,11 +1 @@ -{ - "Exif": { - "Date": "0001-01-01T00:00:00Z", - "Lat": 0, - "Long": 0, - "Tags": { - "Orientation|uint16": "1", - "Software": "Layout from Instagram" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"0001-01-01T00:00:00Z","Tags":{"Orientation|uint16":"1","Software":"Layout from Instagram"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_7d4b36cd30c28e48.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_7d4b36cd30c28e48.json index 203f126d..2c350bbf 100644 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_7d4b36cd30c28e48.json +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_7d4b36cd30c28e48.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:35", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:35","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_8ea8770811667f46.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_8ea8770811667f46.json index 73ee67ab..6252d984 100644 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_8ea8770811667f46.json +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_8ea8770811667f46.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:36", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:36","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_f5d6664956adbdc6.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_f5d6664956adbdc6.json index 73ee67ab..6252d984 100644 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_f5d6664956adbdc6.json +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_f5d6664956adbdc6.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:36", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:36","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_12830e769f02bbe9.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_12830e769f02bbe9.json index 4d6e4bb9..f7bed72f 100644 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_12830e769f02bbe9.json +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_12830e769f02bbe9.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:43", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:43","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_63d2c3b98f00dbb1.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_63d2c3b98f00dbb1.json index 2e2a2318..7f03d0a9 100644 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_63d2c3b98f00dbb1.json +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_63d2c3b98f00dbb1.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:42", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:42","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_c1fc66abc37bbe6.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_c1fc66abc37bbe6.json index 203f126d..2c350bbf 100644 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_c1fc66abc37bbe6.json +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_c1fc66abc37bbe6.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:35", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:35","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-tile/DSCF0285_98cb22c1821ce4cc.json b/resources/_gen/images/photos/2025/square-tile/DSCF0285_98cb22c1821ce4cc.json index 44a4b574..bb4ed91d 100644 --- a/resources/_gen/images/photos/2025/square-tile/DSCF0285_98cb22c1821ce4cc.json +++ b/resources/_gen/images/photos/2025/square-tile/DSCF0285_98cb22c1821ce4cc.json @@ -1,41 +1 @@ -{ - "Exif": { - "Date": "2025-01-10T16:04:50+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "481/100", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:04:50", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:04:50", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "64", - "FocalLength|*imagemeta.rat[uint32]": "85/2", - "ISO|uint16": "800", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "1", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 20:55:05", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:04:50+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"481/100","Copyright":"© fundor333","CreateDate":"2025:01:10 16:04:50","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:04:50","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"64","FocalLength|*imagemeta.rat[uint32]":"85/2","ISO|uint16":"800","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"1","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 20:55:05","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/static/.well-known/webfinger b/static/.well-known/webfinger index 15251771..ca016bdb 100644 --- a/static/.well-known/webfinger +++ b/static/.well-known/webfinger @@ -1 +1 @@ -{"subject":"acct:fundor333@mastodon.social","aliases":["https://mastodon.social/@fundor333","https://mastodon.social/users/fundor333"],"links":[{"rel":"http://webfinger.net/rel/profile-page","type":"text/html","href":"https://mastodon.social/@fundor333"},{"rel":"self","type":"application/activity+json","href":"https://mastodon.social/users/fundor333"},{"rel":"http://ostatus.org/schema/1.0/subscribe","template":"https://mastodon.social/authorize_interaction?uri={uri}"},{"rel":"http://webfinger.net/rel/avatar","type":"image/png","href":"https://files.mastodon.social/accounts/avatars/000/030/873/original/67f41e16a70f9ef6.png"}]} \ No newline at end of file +{"subject":"acct:fundor333@mastodon.social","aliases":["https://mastodon.social/@fundor333","https://mastodon.social/users/fundor333"],"links":[{"rel":"http://webfinger.net/rel/profile-page","type":"text/html","href":"https://mastodon.social/@fundor333"},{"rel":"self","type":"application/activity+json","href":"https://mastodon.social/users/fundor333"},{"rel":"http://ostatus.org/schema/1.0/subscribe","template":"https://mastodon.social/authorize_interaction?uri={uri}"},{"rel":"https://w3id.org/fep/3b86/Create","template":"https://mastodon.social/share?text={content}"},{"rel":"https://w3id.org/fep/3b86/Object","template":"https://mastodon.social/authorize_interaction?uri={object}"},{"rel":"http://webfinger.net/rel/avatar","type":"image/png","href":"https://files.mastodon.social/accounts/avatars/000/030/873/original/67f41e16a70f9ef6.png"}]} \ No newline at end of file diff --git a/static/Characters/001.png b/static/Characters/001.png index e9d7f627..cbe88fd6 100644 Binary files a/static/Characters/001.png and b/static/Characters/001.png differ diff --git a/static/Characters/002.png b/static/Characters/002.png index 5523e176..5b0175d1 100644 Binary files a/static/Characters/002.png and b/static/Characters/002.png differ diff --git a/static/Characters/003.png b/static/Characters/003.png index f726a889..f14e0d03 100644 Binary files a/static/Characters/003.png and b/static/Characters/003.png differ diff --git a/static/Characters/004.png b/static/Characters/004.png index 0f120702..a2e55820 100644 Binary files a/static/Characters/004.png and b/static/Characters/004.png differ diff --git a/static/Characters/005.png b/static/Characters/005.png index 834fdb40..f7982d44 100644 Binary files a/static/Characters/005.png and b/static/Characters/005.png differ diff --git a/static/Characters/006.png b/static/Characters/006.png index 62650feb..6c6ce703 100644 Binary files a/static/Characters/006.png and b/static/Characters/006.png differ diff --git a/static/Characters/007.png b/static/Characters/007.png index a2e55820..85d99bae 100644 Binary files a/static/Characters/007.png and b/static/Characters/007.png differ diff --git a/static/Characters/008.png b/static/Characters/008.png index 9fd7adf2..834fdb40 100644 Binary files a/static/Characters/008.png and b/static/Characters/008.png differ diff --git a/static/Characters/009.png b/static/Characters/009.png index 5b0175d1..99ae813f 100644 Binary files a/static/Characters/009.png and b/static/Characters/009.png differ diff --git a/static/Characters/010.png b/static/Characters/010.png index 13909848..b7fb7ec0 100644 Binary files a/static/Characters/010.png and b/static/Characters/010.png differ diff --git a/static/Characters/011.png b/static/Characters/011.png index 9a725a86..62650feb 100644 Binary files a/static/Characters/011.png and b/static/Characters/011.png differ diff --git a/static/Characters/012.png b/static/Characters/012.png index 7526a723..5453a9d6 100644 Binary files a/static/Characters/012.png and b/static/Characters/012.png differ diff --git a/static/Characters/013.png b/static/Characters/013.png index 8b5f09de..5523e176 100644 Binary files a/static/Characters/013.png and b/static/Characters/013.png differ diff --git a/static/Characters/014.png b/static/Characters/014.png index aa5009bb..9a725a86 100644 Binary files a/static/Characters/014.png and b/static/Characters/014.png differ diff --git a/static/Characters/015.png b/static/Characters/015.png index 8d70dde6..dc9d9b61 100644 Binary files a/static/Characters/015.png and b/static/Characters/015.png differ diff --git a/static/Characters/016.png b/static/Characters/016.png index ee758343..acb2bfc8 100644 Binary files a/static/Characters/016.png and b/static/Characters/016.png differ diff --git a/static/Characters/017.png b/static/Characters/017.png index 012f3f89..9fd7adf2 100644 Binary files a/static/Characters/017.png and b/static/Characters/017.png differ diff --git a/static/Characters/018.png b/static/Characters/018.png index f14e0d03..10520ab9 100644 Binary files a/static/Characters/018.png and b/static/Characters/018.png differ diff --git a/static/Characters/019.png b/static/Characters/019.png index 10520ab9..0f120702 100644 Binary files a/static/Characters/019.png and b/static/Characters/019.png differ diff --git a/static/Characters/020.png b/static/Characters/020.png index cbe88fd6..f726a889 100644 Binary files a/static/Characters/020.png and b/static/Characters/020.png differ diff --git a/static/Characters/021.png b/static/Characters/021.png index 71d5013e..7c694918 100644 Binary files a/static/Characters/021.png and b/static/Characters/021.png differ diff --git a/static/Characters/022.png b/static/Characters/022.png index b7fb7ec0..012f3f89 100644 Binary files a/static/Characters/022.png and b/static/Characters/022.png differ diff --git a/static/Characters/023.png b/static/Characters/023.png index acb2bfc8..7526a723 100644 Binary files a/static/Characters/023.png and b/static/Characters/023.png differ diff --git a/static/Characters/024.png b/static/Characters/024.png index 6c6ce703..a5e53d81 100644 Binary files a/static/Characters/024.png and b/static/Characters/024.png differ diff --git a/static/Characters/025.png b/static/Characters/025.png index 99ae813f..aa5009bb 100644 Binary files a/static/Characters/025.png and b/static/Characters/025.png differ diff --git a/static/Characters/026.png b/static/Characters/026.png index 5453a9d6..13909848 100644 Binary files a/static/Characters/026.png and b/static/Characters/026.png differ diff --git a/static/Characters/027.png b/static/Characters/027.png index dc9d9b61..e9d7f627 100644 Binary files a/static/Characters/027.png and b/static/Characters/027.png differ diff --git a/static/Characters/028.png b/static/Characters/028.png index db8a5a81..b7cfb915 100644 Binary files a/static/Characters/028.png and b/static/Characters/028.png differ diff --git a/static/Characters/029.png b/static/Characters/029.png index a5e53d81..8b5f09de 100644 Binary files a/static/Characters/029.png and b/static/Characters/029.png differ diff --git a/static/Characters/030.png b/static/Characters/030.png index 87f1610a..71d5013e 100644 Binary files a/static/Characters/030.png and b/static/Characters/030.png differ diff --git a/static/Characters/031.png b/static/Characters/031.png index f7982d44..5056acba 100644 Binary files a/static/Characters/031.png and b/static/Characters/031.png differ diff --git a/static/Characters/032.png b/static/Characters/032.png index b7cfb915..ee758343 100644 Binary files a/static/Characters/032.png and b/static/Characters/032.png differ diff --git a/static/Characters/033.png b/static/Characters/033.png index 7c694918..6cdfe25b 100644 Binary files a/static/Characters/033.png and b/static/Characters/033.png differ diff --git a/static/Characters/034.png b/static/Characters/034.png index 6cdfe25b..87f1610a 100644 Binary files a/static/Characters/034.png and b/static/Characters/034.png differ diff --git a/static/Characters/035.png b/static/Characters/035.png index 85d99bae..8d70dde6 100644 Binary files a/static/Characters/035.png and b/static/Characters/035.png differ diff --git a/static/Characters/036.png b/static/Characters/036.png index 5056acba..db8a5a81 100644 Binary files a/static/Characters/036.png and b/static/Characters/036.png differ diff --git a/uv.lock b/uv.lock index ae9832b8..3a218319 100644 --- a/uv.lock +++ b/uv.lock @@ -27,15 +27,15 @@ wheels = [ [[package]] name = "anyio" -version = "4.12.1" +version = "4.13.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "idna" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685, upload-time = "2026-01-06T11:45:21.246Z" } +sdist = { url = "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", hash = "sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc", size = 231622, upload-time = "2026-03-24T12:59:09.671Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592, upload-time = "2026-01-06T11:45:19.497Z" }, + { url = "https://files.pythonhosted.org/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl", hash = "sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708", size = 114353, upload-time = "2026-03-24T12:59:08.246Z" }, ] [[package]] @@ -104,20 +104,20 @@ wheels = [ [[package]] name = "async-lru" -version = "2.2.0" +version = "2.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/05/8a/ca724066c32a53fa75f59e0f21aa822fdaa8a0dffa112d223634e3caabf9/async_lru-2.2.0.tar.gz", hash = "sha256:80abae2a237dbc6c60861d621619af39f0d920aea306de34cb992c879e01370c", size = 14654, upload-time = "2026-02-20T19:11:43.848Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/1f/989ecfef8e64109a489fff357450cb73fa73a865a92bd8c272170a6922c2/async_lru-2.3.0.tar.gz", hash = "sha256:89bdb258a0140d7313cf8f4031d816a042202faa61d0ab310a0a538baa1c24b6", size = 16332, upload-time = "2026-03-19T01:04:32.413Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/13/5c/af990f019b8dd11c5492a6371fe74a5b0276357370030b67254a87329944/async_lru-2.2.0-py3-none-any.whl", hash = "sha256:e2c1cf731eba202b59c5feedaef14ffd9d02ad0037fcda64938699f2c380eafe", size = 7890, upload-time = "2026-02-20T19:11:42.273Z" }, + { url = "https://files.pythonhosted.org/packages/e5/e2/c2e3abf398f80732e58b03be77bde9022550d221dd8781bf586bd4d97cc1/async_lru-2.3.0-py3-none-any.whl", hash = "sha256:eea27b01841909316f2cc739807acea1c623df2be8c5cfad7583286397bb8315", size = 8403, upload-time = "2026-03-19T01:04:30.883Z" }, ] [[package]] name = "attrs" -version = "25.4.0" +version = "26.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", size = 952055, upload-time = "2026-03-19T14:22:25.026Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, + { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" }, ] [[package]] @@ -161,11 +161,11 @@ css = [ [[package]] name = "certifi" -version = "2026.1.4" +version = "2026.2.25" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268, upload-time = "2026-01-04T02:42:41.825Z" } +sdist = { url = "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", size = 155029, upload-time = "2026-02-25T02:54:17.342Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900, upload-time = "2026-01-04T02:42:40.15Z" }, + { url = "https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", size = 153684, upload-time = "2026-02-25T02:54:15.766Z" }, ] [[package]] @@ -202,27 +202,27 @@ wheels = [ [[package]] name = "charset-normalizer" -version = "3.4.4" +version = "3.4.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/60/e3bec1881450851b087e301bedc3daa9377a4d45f1c26aa90b0b235e38aa/charset_normalizer-3.4.6.tar.gz", hash = "sha256:1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6", size = 143363, upload-time = "2026-03-15T18:53:25.478Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425, upload-time = "2025-10-14T04:40:53.353Z" }, - { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162, upload-time = "2025-10-14T04:40:54.558Z" }, - { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558, upload-time = "2025-10-14T04:40:55.677Z" }, - { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497, upload-time = "2025-10-14T04:40:57.217Z" }, - { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240, upload-time = "2025-10-14T04:40:58.358Z" }, - { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471, upload-time = "2025-10-14T04:40:59.468Z" }, - { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864, upload-time = "2025-10-14T04:41:00.623Z" }, - { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647, upload-time = "2025-10-14T04:41:01.754Z" }, - { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110, upload-time = "2025-10-14T04:41:03.231Z" }, - { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839, upload-time = "2025-10-14T04:41:04.715Z" }, - { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667, upload-time = "2025-10-14T04:41:05.827Z" }, - { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535, upload-time = "2025-10-14T04:41:06.938Z" }, - { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816, upload-time = "2025-10-14T04:41:08.101Z" }, - { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694, upload-time = "2025-10-14T04:41:09.23Z" }, - { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131, upload-time = "2025-10-14T04:41:10.467Z" }, - { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390, upload-time = "2025-10-14T04:41:11.915Z" }, - { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, + { url = "https://files.pythonhosted.org/packages/e5/62/c0815c992c9545347aeea7859b50dc9044d147e2e7278329c6e02ac9a616/charset_normalizer-3.4.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ef7fedc7a6ecbe99969cd09632516738a97eeb8bd7258bf8a0f23114c057dab", size = 295154, upload-time = "2026-03-15T18:50:50.88Z" }, + { url = "https://files.pythonhosted.org/packages/a8/37/bdca6613c2e3c58c7421891d80cc3efa1d32e882f7c4a7ee6039c3fc951a/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a4ea868bc28109052790eb2b52a9ab33f3aa7adc02f96673526ff47419490e21", size = 199191, upload-time = "2026-03-15T18:50:52.658Z" }, + { url = "https://files.pythonhosted.org/packages/6c/92/9934d1bbd69f7f398b38c5dae1cbf9cc672e7c34a4adf7b17c0a9c17d15d/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:836ab36280f21fc1a03c99cd05c6b7af70d2697e374c7af0b61ed271401a72a2", size = 218674, upload-time = "2026-03-15T18:50:54.102Z" }, + { url = "https://files.pythonhosted.org/packages/af/90/25f6ab406659286be929fd89ab0e78e38aa183fc374e03aa3c12d730af8a/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f1ce721c8a7dfec21fcbdfe04e8f68174183cf4e8188e0645e92aa23985c57ff", size = 215259, upload-time = "2026-03-15T18:50:55.616Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ef/79a463eb0fff7f96afa04c1d4c51f8fc85426f918db467854bfb6a569ce3/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e28d62a8fc7a1fa411c43bd65e346f3bce9716dc51b897fbe930c5987b402d5", size = 207276, upload-time = "2026-03-15T18:50:57.054Z" }, + { url = "https://files.pythonhosted.org/packages/f7/72/d0426afec4b71dc159fa6b4e68f868cd5a3ecd918fec5813a15d292a7d10/charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:530d548084c4a9f7a16ed4a294d459b4f229db50df689bfe92027452452943a0", size = 195161, upload-time = "2026-03-15T18:50:58.686Z" }, + { url = "https://files.pythonhosted.org/packages/bf/18/c82b06a68bfcb6ce55e508225d210c7e6a4ea122bfc0748892f3dc4e8e11/charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:30f445ae60aad5e1f8bdbb3108e39f6fbc09f4ea16c815c66578878325f8f15a", size = 203452, upload-time = "2026-03-15T18:51:00.196Z" }, + { url = "https://files.pythonhosted.org/packages/44/d6/0c25979b92f8adafdbb946160348d8d44aa60ce99afdc27df524379875cb/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ac2393c73378fea4e52aa56285a3d64be50f1a12395afef9cce47772f60334c2", size = 202272, upload-time = "2026-03-15T18:51:01.703Z" }, + { url = "https://files.pythonhosted.org/packages/2e/3d/7fea3e8fe84136bebbac715dd1221cc25c173c57a699c030ab9b8900cbb7/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:90ca27cd8da8118b18a52d5f547859cc1f8354a00cd1e8e5120df3e30d6279e5", size = 195622, upload-time = "2026-03-15T18:51:03.526Z" }, + { url = "https://files.pythonhosted.org/packages/57/8a/d6f7fd5cb96c58ef2f681424fbca01264461336d2a7fc875e4446b1f1346/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e5a94886bedca0f9b78fecd6afb6629142fd2605aa70a125d49f4edc6037ee6", size = 220056, upload-time = "2026-03-15T18:51:05.269Z" }, + { url = "https://files.pythonhosted.org/packages/16/50/478cdda782c8c9c3fb5da3cc72dd7f331f031e7f1363a893cdd6ca0f8de0/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:695f5c2823691a25f17bc5d5ffe79fa90972cc34b002ac6c843bb8a1720e950d", size = 203751, upload-time = "2026-03-15T18:51:06.858Z" }, + { url = "https://files.pythonhosted.org/packages/75/fc/cc2fcac943939c8e4d8791abfa139f685e5150cae9f94b60f12520feaa9b/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:231d4da14bcd9301310faf492051bee27df11f2bc7549bc0bb41fef11b82daa2", size = 216563, upload-time = "2026-03-15T18:51:08.564Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b7/a4add1d9a5f68f3d037261aecca83abdb0ab15960a3591d340e829b37298/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a056d1ad2633548ca18ffa2f85c202cfb48b68615129143915b8dc72a806a923", size = 209265, upload-time = "2026-03-15T18:51:10.312Z" }, + { url = "https://files.pythonhosted.org/packages/6c/18/c094561b5d64a24277707698e54b7f67bd17a4f857bbfbb1072bba07c8bf/charset_normalizer-3.4.6-cp312-cp312-win32.whl", hash = "sha256:c2274ca724536f173122f36c98ce188fd24ce3dad886ec2b7af859518ce008a4", size = 144229, upload-time = "2026-03-15T18:51:11.694Z" }, + { url = "https://files.pythonhosted.org/packages/ab/20/0567efb3a8fd481b8f34f739ebddc098ed062a59fed41a8d193a61939e8f/charset_normalizer-3.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:c8ae56368f8cc97c7e40a7ee18e1cedaf8e780cd8bc5ed5ac8b81f238614facb", size = 154277, upload-time = "2026-03-15T18:51:13.004Z" }, + { url = "https://files.pythonhosted.org/packages/15/57/28d79b44b51933119e21f65479d0864a8d5893e494cf5daab15df0247c17/charset_normalizer-3.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:899d28f422116b08be5118ef350c292b36fc15ec2daeb9ea987c89281c7bb5c4", size = 142817, upload-time = "2026-03-15T18:51:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/2a/68/687187c7e26cb24ccbd88e5069f5ef00eba804d36dde11d99aad0838ab45/charset_normalizer-3.4.6-py3-none-any.whl", hash = "sha256:947cf925bc916d90adba35a64c82aace04fa39b46b52d4630ece166655905a69", size = 61455, upload-time = "2026-03-15T18:53:23.833Z" }, ] [[package]] @@ -255,6 +255,37 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, ] +[[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, upload-time = "2025-07-26T12:03:12.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" }, + { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" }, + { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" }, + { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" }, + { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" }, + { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" }, + { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" }, + { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" }, + { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" }, +] + +[[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, upload-time = "2023-10-07T05:32:18.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, +] + [[package]] name = "debugpy" version = "1.8.20" @@ -327,11 +358,28 @@ wheels = [ [[package]] name = "filelock" -version = "3.24.3" +version = "3.25.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/73/92/a8e2479937ff39185d20dd6a851c1a63e55849e447a55e798cc2e1f49c65/filelock-3.24.3.tar.gz", hash = "sha256:011a5644dc937c22699943ebbfc46e969cdde3e171470a6e40b9533e5a72affa", size = 37935, upload-time = "2026-02-19T00:48:20.543Z" } +sdist = { url = "https://files.pythonhosted.org/packages/94/b8/00651a0f559862f3bb7d6f7477b192afe3f583cc5e26403b44e59a55ab34/filelock-3.25.2.tar.gz", hash = "sha256:b64ece2b38f4ca29dd3e810287aa8c48182bbecd1ae6e9ae126c9b35f1382694", size = 40480, upload-time = "2026-03-11T20:45:38.487Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9c/0f/5d0c71a1aefeb08efff26272149e07ab922b64f46c63363756224bd6872e/filelock-3.24.3-py3-none-any.whl", hash = "sha256:426e9a4660391f7f8a810d71b0555bce9008b0a1cc342ab1f6947d37639e002d", size = 24331, upload-time = "2026-02-19T00:48:18.465Z" }, + { url = "https://files.pythonhosted.org/packages/a4/a5/842ae8f0c08b61d6484b52f99a03510a3a72d23141942d216ebe81fefbce/filelock-3.25.2-py3-none-any.whl", hash = "sha256:ca8afb0da15f229774c9ad1b455ed96e85a81373065fb10446672f64444ddf70", size = 26759, upload-time = "2026-03-11T20:45:37.437Z" }, +] + +[[package]] +name = "fonttools" +version = "4.62.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/08/7012b00a9a5874311b639c3920270c36ee0c445b69d9989a85e5c92ebcb0/fonttools-4.62.1.tar.gz", hash = "sha256:e54c75fd6041f1122476776880f7c3c3295ffa31962dc6ebe2543c00dca58b5d", size = 3580737, upload-time = "2026-03-13T13:54:25.52Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/d4/dbacced3953544b9a93088cc10ef2b596d348c983d5c67a404fa41ec51ba/fonttools-4.62.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:90365821debbd7db678809c7491ca4acd1e0779b9624cdc6ddaf1f31992bf974", size = 2870219, upload-time = "2026-03-13T13:52:53.664Z" }, + { url = "https://files.pythonhosted.org/packages/66/9e/a769c8e99b81e5a87ab7e5e7236684de4e96246aae17274e5347d11ebd78/fonttools-4.62.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12859ff0b47dd20f110804c3e0d0970f7b832f561630cd879969011541a464a9", size = 2414891, upload-time = "2026-03-13T13:52:56.493Z" }, + { url = "https://files.pythonhosted.org/packages/69/64/f19a9e3911968c37e1e620e14dfc5778299e1474f72f4e57c5ec771d9489/fonttools-4.62.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c125ffa00c3d9003cdaaf7f2c79e6e535628093e14b5de1dccb08859b680936", size = 5033197, upload-time = "2026-03-13T13:52:59.179Z" }, + { url = "https://files.pythonhosted.org/packages/9b/8a/99c8b3c3888c5c474c08dbfd7c8899786de9604b727fcefb055b42c84bba/fonttools-4.62.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:149f7d84afca659d1a97e39a4778794a2f83bf344c5ee5134e09995086cc2392", size = 4988768, upload-time = "2026-03-13T13:53:02.761Z" }, + { url = "https://files.pythonhosted.org/packages/d1/c6/0f904540d3e6ab463c1243a0d803504826a11604c72dd58c2949796a1762/fonttools-4.62.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0aa72c43a601cfa9273bb1ae0518f1acadc01ee181a6fc60cd758d7fdadffc04", size = 4971512, upload-time = "2026-03-13T13:53:05.678Z" }, + { url = "https://files.pythonhosted.org/packages/29/0b/5cbef6588dc9bd6b5c9ad6a4d5a8ca384d0cea089da31711bbeb4f9654a6/fonttools-4.62.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:19177c8d96c7c36359266e571c5173bcee9157b59cfc8cb0153c5673dc5a3a7d", size = 5122723, upload-time = "2026-03-13T13:53:08.662Z" }, + { url = "https://files.pythonhosted.org/packages/4a/47/b3a5342d381595ef439adec67848bed561ab7fdb1019fa522e82101b7d9c/fonttools-4.62.1-cp312-cp312-win32.whl", hash = "sha256:a24decd24d60744ee8b4679d38e88b8303d86772053afc29b19d23bb8207803c", size = 2281278, upload-time = "2026-03-13T13:53:10.998Z" }, + { url = "https://files.pythonhosted.org/packages/28/b1/0c2ab56a16f409c6c8a68816e6af707827ad5d629634691ff60a52879792/fonttools-4.62.1-cp312-cp312-win_amd64.whl", hash = "sha256:9e7863e10b3de72376280b515d35b14f5eeed639d1aa7824f4cf06779ec65e42", size = 2331414, upload-time = "2026-03-13T13:53:13.992Z" }, + { url = "https://files.pythonhosted.org/packages/fd/ba/56147c165442cc5ba7e82ecf301c9a68353cede498185869e6e02b4c264f/fonttools-4.62.1-py3-none-any.whl", hash = "sha256:7487782e2113861f4ddcc07c3436450659e3caa5e470b27dc2177cade2d8e7fd", size = 1152647, upload-time = "2026-03-13T13:54:22.735Z" }, ] [[package]] @@ -352,6 +400,7 @@ dependencies = [ { name = "bleach" }, { name = "feedparser" }, { name = "lxml" }, + { name = "matplotlib" }, { name = "pillow" }, { name = "python-dotenv" }, { name = "python-frontmatter" }, @@ -377,6 +426,7 @@ requires-dist = [ { name = "bleach" }, { name = "feedparser" }, { name = "lxml" }, + { name = "matplotlib", specifier = ">=3.10.8" }, { name = "pillow" }, { name = "python-dotenv" }, { name = "python-frontmatter" }, @@ -435,19 +485,19 @@ wheels = [ [[package]] name = "hugo" -version = "0.153.0" +version = "0.155.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ba/2c/22adb444229683ff3133ebb3da3fdcb3988fd1df35043a9fc9e895df5664/hugo-0.153.0.tar.gz", hash = "sha256:c057cb1406487ce84504296b826590c68ab46ac7623a44a7888ccf21d5baa186", size = 30691, upload-time = "2025-12-19T20:17:50.358Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/60/aed6e4c9bf3a5572ce9540371a55f6108b51a2d8f680528c7dada59b5942/hugo-0.155.3.tar.gz", hash = "sha256:01079b16ee68b6f691856195cc919aa262d28db2ce29cd75bef7b39160c4eb25", size = 4648087, upload-time = "2026-03-18T10:02:57.082Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/7f/b7a297101bfa90386daffaa6342005f07972dbc372810ae4d35611a43032/hugo-0.153.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:0c03c8c245ba1413cd59ae3c7dccb13fc6c99249aaebddccc5aa758d5bfe38eb", size = 27925974, upload-time = "2025-12-19T20:17:27.439Z" }, - { url = "https://files.pythonhosted.org/packages/74/bb/b96cb18e7a09894353424b0a461592dfb9a70716b2bcd7cfcd7756b4e13f/hugo-0.153.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:48aa4e61923762bc64810e6e4aef19b15e5997527f0470bb544eacfd2bb6779a", size = 25847344, upload-time = "2025-12-19T20:17:30.332Z" }, - { url = "https://files.pythonhosted.org/packages/15/f5/f27e6627982afc258df61924da3d9f3d9a3aaa39f5cf64f13d7caedbae43/hugo-0.153.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a9d968c8fa01c524762126651e6bd24e5d7f6bf3d3020346aa928e0b2cbc333", size = 25119237, upload-time = "2025-12-19T20:17:32.754Z" }, - { url = "https://files.pythonhosted.org/packages/58/ff/fad90aab3b17a70630e12becc8945acf5c82dda4d2c72b0ab5892d00123d/hugo-0.153.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc962dbef29eba8dba43c5e01bf348033a547a12384444a40bb00a5a3ad8f095", size = 24594926, upload-time = "2025-12-19T20:17:35.136Z" }, - { url = "https://files.pythonhosted.org/packages/4c/f7/b0349941cf573953dfe3784457958b1666ccb1143007077ed57febd9ca21/hugo-0.153.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19bc1d86a882fe6b9daa3e824ca843fbf7b5d9039288ec9867cc940ffe1d0208", size = 27246398, upload-time = "2025-12-19T20:17:37.74Z" }, - { url = "https://files.pythonhosted.org/packages/51/b3/023b50b6b0f6f11fcab76612b23438c0b793b0ebe62f6c4139ea342e26cd/hugo-0.153.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d310750f1f0130acf92fd0f91a96406f6f30a5b62b561e039282a5aaee1b98e9", size = 27857096, upload-time = "2025-12-19T20:17:40.541Z" }, - { url = "https://files.pythonhosted.org/packages/f8/d5/d7d7722d09b1e7e07b3efbf05ef61abda677ce824ca3eaba335449aaec57/hugo-0.153.0-py3-none-win32.whl", hash = "sha256:0927dd22983f31749108f17613d10861edba09e7945710fd471538fb9a4ad809", size = 26444626, upload-time = "2025-12-19T20:17:43.359Z" }, - { url = "https://files.pythonhosted.org/packages/74/c2/6e53ca4188272c5ffe54251af0682fcbf2f48669555d9d118b54ff824845/hugo-0.153.0-py3-none-win_amd64.whl", hash = "sha256:08cb31db07a969a5e6cf63548cf514616059b18c325b0f0ef851113f63db96e7", size = 28749538, upload-time = "2025-12-19T20:17:45.763Z" }, - { url = "https://files.pythonhosted.org/packages/01/74/d5d34f22d147002e02cbb94941cf25cf120e6cdd1374c2e2028f34fd68dc/hugo-0.153.0-py3-none-win_arm64.whl", hash = "sha256:dbd75d10c42171447591a45253d262b628237bcda712ddd11ed27ca16f912200", size = 25451578, upload-time = "2025-12-19T20:17:48.131Z" }, + { url = "https://files.pythonhosted.org/packages/44/6d/4137c65045894a96f8cba537f9b685ecafae30a69a7b0ff371ad1d9bdf1a/hugo-0.155.3-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:a5c8b724dd4704d0ab8a3a03f28dabd56f7636bcd0abe7415b0daf4a374efac5", size = 27996680, upload-time = "2026-03-18T10:00:24.506Z" }, + { url = "https://files.pythonhosted.org/packages/1c/f3/8d539736c5ee26ea7be3bb105d264a487ce75a1b1cc2978a1ac237b1db5a/hugo-0.155.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:55706ba9e08fbe74484e530741758f6b2b7bf3e0b43fafa23953d7b3ff51a842", size = 25907699, upload-time = "2026-03-18T10:02:34.345Z" }, + { url = "https://files.pythonhosted.org/packages/ce/5c/dee487d87c5447259cc3ead1b4515ee65b3fc29586e83dd1a1a035452bd9/hugo-0.155.3-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:18b6c37d1de14103958ccc560f35eff59f6d3b38343fcc3b64210693c230cafa", size = 25168841, upload-time = "2026-03-18T10:02:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/8d/53/a8735bde5d8d3916d659e8d33494b6f5c6eb37b06711f59e073fe1165361/hugo-0.155.3-py3-none-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:57172c24801d67c58f0e57f42e8b20b6dd56f502c64277756019451bd09d333e", size = 24654635, upload-time = "2026-03-18T10:02:39.736Z" }, + { url = "https://files.pythonhosted.org/packages/6f/1e/291609e8697c906dedbce65c9ba9d1b5f6ed8fe034fca31183a79aceec10/hugo-0.155.3-py3-none-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:db7ea20831378024dc1aa7f29bae50d94857124a0cd7acec0cdaa0cb842fa79e", size = 27341657, upload-time = "2026-03-18T10:02:42.488Z" }, + { url = "https://files.pythonhosted.org/packages/6f/4d/6e3672e27805d56a60318a6c47a050b9fb6c5ab1fecc282ac173eaf84eb1/hugo-0.155.3-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9be7d98f11296434ddc734fe99f2b1b278efa09e84972a9908e15bf30154f590", size = 27934077, upload-time = "2026-03-18T10:02:45.515Z" }, + { url = "https://files.pythonhosted.org/packages/20/2f/322fda87bd382615dc70e0a6bc9848350cd2edb7c31a0f29e17e10f59720/hugo-0.155.3-py3-none-win32.whl", hash = "sha256:21f1216b392e941b7a84fd2322c045c52e691f1411b638b0a5e6aed947bd335b", size = 26513830, upload-time = "2026-03-18T10:02:48.403Z" }, + { url = "https://files.pythonhosted.org/packages/29/5d/822aabbe8e19304f6b3c0e66f043a3e3e99b50543ebc4e262d40dfb991e0/hugo-0.155.3-py3-none-win_amd64.whl", hash = "sha256:94ba7c1318cba7f81adbd7a026cd55cbb67a2c5348c1c68daff9dff1e57a99c1", size = 28820735, upload-time = "2026-03-18T10:02:51.456Z" }, + { url = "https://files.pythonhosted.org/packages/2c/98/3a3baef1fc7fc57395d05c112e4739d2397b2dab94347b61cb4e21c2ab0f/hugo-0.155.3-py3-none-win_arm64.whl", hash = "sha256:73203fad007860bdf08f10789907986bafd2d5d94b9cd2ecf014c53dba732b7e", size = 25502057, upload-time = "2026-03-18T10:02:54.535Z" }, ] [[package]] @@ -468,11 +518,11 @@ wheels = [ [[package]] name = "identify" -version = "2.6.16" +version = "2.6.18" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5b/8d/e8b97e6bd3fb6fb271346f7981362f1e04d6a7463abd0de79e1fda17c067/identify-2.6.16.tar.gz", hash = "sha256:846857203b5511bbe94d5a352a48ef2359532bc8f6727b5544077a0dcfb24980", size = 99360, upload-time = "2026-01-12T18:58:58.201Z" } +sdist = { url = "https://files.pythonhosted.org/packages/46/c4/7fb4db12296cdb11893d61c92048fe617ee853f8523b9b296ac03b43757e/identify-2.6.18.tar.gz", hash = "sha256:873ac56a5e3fd63e7438a7ecbc4d91aca692eb3fefa4534db2b7913f3fc352fd", size = 99580, upload-time = "2026-03-15T18:39:50.319Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b8/58/40fbbcefeda82364720eba5cf2270f98496bdfa19ea75b4cccae79c698e6/identify-2.6.16-py2.py3-none-any.whl", hash = "sha256:391ee4d77741d994189522896270b787aed8670389bfd60f326d677d64a6dfb0", size = 99202, upload-time = "2026-01-12T18:58:56.627Z" }, + { url = "https://files.pythonhosted.org/packages/46/33/92ef41c6fad0233e41d3d84ba8e8ad18d1780f1e5d99b3c683e6d7f98b63/identify-2.6.18-py2.py3-none-any.whl", hash = "sha256:8db9d3c8ea9079db92cafb0ebf97abdc09d52e97f4dcf773a2e694048b7cd737", size = 99394, upload-time = "2026-03-15T18:39:48.915Z" }, ] [[package]] @@ -510,7 +560,7 @@ wheels = [ [[package]] name = "ipython" -version = "9.10.0" +version = "9.12.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -524,9 +574,9 @@ dependencies = [ { name = "stack-data" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a6/60/2111715ea11f39b1535bed6024b7dec7918b71e5e5d30855a5b503056b50/ipython-9.10.0.tar.gz", hash = "sha256:cd9e656be97618a0676d058134cd44e6dc7012c0e5cb36a9ce96a8c904adaf77", size = 4426526, upload-time = "2026-02-02T10:00:33.594Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/73/7114f80a8f9cabdb13c27732dce24af945b2923dcab80723602f7c8bc2d8/ipython-9.12.0.tar.gz", hash = "sha256:01daa83f504b693ba523b5a407246cabde4eb4513285a3c6acaff11a66735ee4", size = 4428879, upload-time = "2026-03-27T09:42:45.312Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3d/aa/898dec789a05731cd5a9f50605b7b44a72bd198fd0d4528e11fc610177cc/ipython-9.10.0-py3-none-any.whl", hash = "sha256:c6ab68cc23bba8c7e18e9b932797014cc61ea7fd6f19de180ab9ba73e65ee58d", size = 622774, upload-time = "2026-02-02T10:00:31.503Z" }, + { url = "https://files.pythonhosted.org/packages/59/22/906c8108974c673ebef6356c506cebb6870d48cedea3c41e949e2dd556bb/ipython-9.12.0-py3-none-any.whl", hash = "sha256:0f2701e8ee86e117e37f50563205d36feaa259d2e08d4a6bc6b6d74b18ce128d", size = 625661, upload-time = "2026-03-27T09:42:42.831Z" }, ] [[package]] @@ -595,11 +645,11 @@ wheels = [ [[package]] name = "json5" -version = "0.13.0" +version = "0.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/77/e8/a3f261a66e4663f22700bc8a17c08cb83e91fbf086726e7a228398968981/json5-0.13.0.tar.gz", hash = "sha256:b1edf8d487721c0bf64d83c28e91280781f6e21f4a797d3261c7c828d4c165bf", size = 52441, upload-time = "2026-01-01T19:42:14.99Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/4b/6f8906aaf67d501e259b0adab4d312945bb7211e8b8d4dcc77c92320edaa/json5-0.14.0.tar.gz", hash = "sha256:b3f492fad9f6cdbced8b7d40b28b9b1c9701c5f561bef0d33b81c2ff433fefcb", size = 52656, upload-time = "2026-03-27T22:50:48.108Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/9e/038522f50ceb7e74f1f991bf1b699f24b0c2bbe7c390dd36ad69f4582258/json5-0.13.0-py3-none-any.whl", hash = "sha256:9a08e1dd65f6a4d4c6fa82d216cf2477349ec2346a38fd70cc11d2557499fbcc", size = 36163, upload-time = "2026-01-01T19:42:13.962Z" }, + { url = "https://files.pythonhosted.org/packages/b8/42/cf027b4ac873b076189d935b135397675dac80cb29acb13e1ab86ad6c631/json5-0.14.0-py3-none-any.whl", hash = "sha256:56cf861bab076b1178eb8c92e1311d273a9b9acea2ccc82c276abf839ebaef3a", size = 36271, upload-time = "2026-03-27T22:50:47.073Z" }, ] [[package]] @@ -616,11 +666,11 @@ wheels = [ [[package]] name = "jsonpointer" -version = "3.0.0" +version = "3.1.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114, upload-time = "2024-06-10T19:24:42.462Z" } +sdist = { url = "https://files.pythonhosted.org/packages/18/c7/af399a2e7a67fd18d63c40c5e62d3af4e67b836a2107468b6a5ea24c4304/jsonpointer-3.1.1.tar.gz", hash = "sha256:0b801c7db33a904024f6004d526dcc53bbb8a4a0f4e32bfd10beadf60adf1900", size = 9068, upload-time = "2026-03-23T22:32:32.458Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595, upload-time = "2024-06-10T19:24:40.698Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6a/a83720e953b1682d2d109d3c2dbb0bc9bf28cc1cbc205be4ef4be5da709d/jsonpointer-3.1.1-py3-none-any.whl", hash = "sha256:8ff8b95779d071ba472cf5bc913028df06031797532f08a7d5b602d8b2a488ca", size = 7659, upload-time = "2026-03-23T22:32:31.568Z" }, ] [[package]] @@ -803,7 +853,7 @@ wheels = [ [[package]] name = "jupyterlab" -version = "4.5.4" +version = "4.5.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "async-lru" }, @@ -820,9 +870,9 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7c/6b/21af7c0512bdf67e0c54c121779a1f2a97a164a7657e13fced79db8fa5a0/jupyterlab-4.5.4.tar.gz", hash = "sha256:c215f48d8e4582bd2920ad61cc6a40d8ebfef7e5a517ae56b8a9413c9789fdfb", size = 23943597, upload-time = "2026-02-11T00:26:55.308Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ac/d5/730628e03fff2e8a8e8ccdaedde1489ab1309f9a4fa2536248884e30b7c7/jupyterlab-4.5.6.tar.gz", hash = "sha256:642fe2cfe7f0f5922a8a558ba7a0d246c7bc133b708dfe43f7b3a826d163cf42", size = 23970670, upload-time = "2026-03-11T14:17:04.531Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f5/9f/a70972ece62ead2d81acc6223188f6d18a92f665ccce17796a0cdea4fcf5/jupyterlab-4.5.4-py3-none-any.whl", hash = "sha256:cc233f70539728534669fb0015331f2a3a87656207b3bb2d07916e9289192f12", size = 12391867, upload-time = "2026-02-11T00:26:51.23Z" }, + { url = "https://files.pythonhosted.org/packages/e1/1b/dad6fdcc658ed7af26fdf3841e7394072c9549a8b896c381ab49dd11e2d9/jupyterlab-4.5.6-py3-none-any.whl", hash = "sha256:d6b3dac883aa4d9993348e0f8e95b24624f75099aed64eab6a4351a9cdd1e580", size = 12447124, upload-time = "2026-03-11T14:17:00.229Z" }, ] [[package]] @@ -861,23 +911,50 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ab/b5/36c712098e6191d1b4e349304ef73a8d06aed77e56ceaac8c0a306c7bda1/jupyterlab_widgets-3.0.16-py3-none-any.whl", hash = "sha256:45fa36d9c6422cf2559198e4db481aa243c7a32d9926b500781c830c80f7ecf8", size = 914926, upload-time = "2025-11-01T21:11:28.008Z" }, ] +[[package]] +name = "kiwisolver" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/67/9c61eccb13f0bdca9307614e782fec49ffdde0f7a2314935d489fa93cd9c/kiwisolver-1.5.0.tar.gz", hash = "sha256:d4193f3d9dc3f6f79aaed0e5637f45d98850ebf01f7ca20e69457f3e8946b66a", size = 103482, upload-time = "2026-03-09T13:15:53.382Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/b2/818b74ebea34dabe6d0c51cb1c572e046730e64844da6ed646d5298c40ce/kiwisolver-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4e9750bc21b886308024f8a54ccb9a2cc38ac9fa813bf4348434e3d54f337ff9", size = 123158, upload-time = "2026-03-09T13:13:23.127Z" }, + { url = "https://files.pythonhosted.org/packages/bf/d9/405320f8077e8e1c5c4bd6adc45e1e6edf6d727b6da7f2e2533cf58bff71/kiwisolver-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:72ec46b7eba5b395e0a7b63025490d3214c11013f4aacb4f5e8d6c3041829588", size = 66388, upload-time = "2026-03-09T13:13:24.765Z" }, + { url = "https://files.pythonhosted.org/packages/99/9f/795fedf35634f746151ca8839d05681ceb6287fbed6cc1c9bf235f7887c2/kiwisolver-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ed3a984b31da7481b103f68776f7128a89ef26ed40f4dc41a2223cda7fb24819", size = 64068, upload-time = "2026-03-09T13:13:25.878Z" }, + { url = "https://files.pythonhosted.org/packages/c4/13/680c54afe3e65767bed7ec1a15571e1a2f1257128733851ade24abcefbcc/kiwisolver-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bb5136fb5352d3f422df33f0c879a1b0c204004324150cc3b5e3c4f310c9049f", size = 1477934, upload-time = "2026-03-09T13:13:27.166Z" }, + { url = "https://files.pythonhosted.org/packages/c8/2f/cebfcdb60fd6a9b0f6b47a9337198bcbad6fbe15e68189b7011fd914911f/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2af221f268f5af85e776a73d62b0845fc8baf8ef0abfae79d29c77d0e776aaf", size = 1278537, upload-time = "2026-03-09T13:13:28.707Z" }, + { url = "https://files.pythonhosted.org/packages/f2/0d/9b782923aada3fafb1d6b84e13121954515c669b18af0c26e7d21f579855/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b0f172dc8ffaccb8522d7c5d899de00133f2f1ca7b0a49b7da98e901de87bf2d", size = 1296685, upload-time = "2026-03-09T13:13:30.528Z" }, + { url = "https://files.pythonhosted.org/packages/27/70/83241b6634b04fe44e892688d5208332bde130f38e610c0418f9ede47ded/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6ab8ba9152203feec73758dad83af9a0bbe05001eb4639e547207c40cfb52083", size = 1346024, upload-time = "2026-03-09T13:13:32.818Z" }, + { url = "https://files.pythonhosted.org/packages/e4/db/30ed226fb271ae1a6431fc0fe0edffb2efe23cadb01e798caeb9f2ceae8f/kiwisolver-1.5.0-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:cdee07c4d7f6d72008d3f73b9bf027f4e11550224c7c50d8df1ae4a37c1402a6", size = 987241, upload-time = "2026-03-09T13:13:34.435Z" }, + { url = "https://files.pythonhosted.org/packages/ec/bd/c314595208e4c9587652d50959ead9e461995389664e490f4dce7ff0f782/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7c60d3c9b06fb23bd9c6139281ccbdc384297579ae037f08ae90c69f6845c0b1", size = 2227742, upload-time = "2026-03-09T13:13:36.4Z" }, + { url = "https://files.pythonhosted.org/packages/c1/43/0499cec932d935229b5543d073c2b87c9c22846aab48881e9d8d6e742a2d/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e315e5ec90d88e140f57696ff85b484ff68bb311e36f2c414aa4286293e6dee0", size = 2323966, upload-time = "2026-03-09T13:13:38.204Z" }, + { url = "https://files.pythonhosted.org/packages/3d/6f/79b0d760907965acfd9d61826a3d41f8f093c538f55cd2633d3f0db269f6/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:1465387ac63576c3e125e5337a6892b9e99e0627d52317f3ca79e6930d889d15", size = 1977417, upload-time = "2026-03-09T13:13:39.966Z" }, + { url = "https://files.pythonhosted.org/packages/ab/31/01d0537c41cb75a551a438c3c7a80d0c60d60b81f694dac83dd436aec0d0/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:530a3fd64c87cffa844d4b6b9768774763d9caa299e9b75d8eca6a4423b31314", size = 2491238, upload-time = "2026-03-09T13:13:41.698Z" }, + { url = "https://files.pythonhosted.org/packages/e4/34/8aefdd0be9cfd00a44509251ba864f5caf2991e36772e61c408007e7f417/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1d9daea4ea6b9be74fe2f01f7fbade8d6ffab263e781274cffca0dba9be9eec9", size = 2294947, upload-time = "2026-03-09T13:13:43.343Z" }, + { url = "https://files.pythonhosted.org/packages/ad/cf/0348374369ca588f8fe9c338fae49fa4e16eeb10ffb3d012f23a54578a9e/kiwisolver-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:f18c2d9782259a6dc132fdc7a63c168cbc74b35284b6d75c673958982a378384", size = 73569, upload-time = "2026-03-09T13:13:45.792Z" }, + { url = "https://files.pythonhosted.org/packages/28/26/192b26196e2316e2bd29deef67e37cdf9870d9af8e085e521afff0fed526/kiwisolver-1.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:f7c7553b13f69c1b29a5bde08ddc6d9d0c8bfb84f9ed01c30db25944aeb852a7", size = 64997, upload-time = "2026-03-09T13:13:46.878Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fa/2910df836372d8761bb6eff7d8bdcb1613b5c2e03f260efe7abe34d388a7/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-macosx_10_13_x86_64.whl", hash = "sha256:5ae8e62c147495b01a0f4765c878e9bfdf843412446a247e28df59936e99e797", size = 130262, upload-time = "2026-03-09T13:15:35.629Z" }, + { url = "https://files.pythonhosted.org/packages/0f/41/c5f71f9f00aabcc71fee8b7475e3f64747282580c2fe748961ba29b18385/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:f6764a4ccab3078db14a632420930f6186058750df066b8ea2a7106df91d3203", size = 138036, upload-time = "2026-03-09T13:15:36.894Z" }, + { url = "https://files.pythonhosted.org/packages/fa/06/7399a607f434119c6e1fdc8ec89a8d51ccccadf3341dee4ead6bd14caaf5/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c31c13da98624f957b0fb1b5bae5383b2333c2c3f6793d9825dd5ce79b525cb7", size = 194295, upload-time = "2026-03-09T13:15:38.22Z" }, + { url = "https://files.pythonhosted.org/packages/b5/91/53255615acd2a1eaca307ede3c90eb550bae9c94581f8c00081b6b1c8f44/kiwisolver-1.5.0-graalpy312-graalpy250_312_native-win_amd64.whl", hash = "sha256:1f1489f769582498610e015a8ef2d36f28f505ab3096d0e16b4858a9ec214f57", size = 75987, upload-time = "2026-03-09T13:15:39.65Z" }, +] + [[package]] name = "langchain" -version = "1.2.10" +version = "1.2.13" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "langchain-core" }, { name = "langgraph" }, { name = "pydantic" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/16/22/a4d4ac98fc2e393537130bbfba0d71a8113e6f884d96f935923e247397fe/langchain-1.2.10.tar.gz", hash = "sha256:bdcd7218d9c79a413cf15e106e4eb94408ac0963df9333ccd095b9ed43bf3be7", size = 570071, upload-time = "2026-02-10T14:56:49.74Z" } +sdist = { url = "https://files.pythonhosted.org/packages/81/e5/56fdeedaa0ef1be3c53721d382d9e21c63930179567361610ea6102c04ea/langchain-1.2.13.tar.gz", hash = "sha256:d566ef67c8287e7f2e2df3c99bf3953a6beefd2a75a97fe56ecce905e21f3ef4", size = 573819, upload-time = "2026-03-19T17:16:07.641Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/06/c3394327f815fade875724c0f6cff529777c96a1e17fea066deb997f8cf5/langchain-1.2.10-py3-none-any.whl", hash = "sha256:e07a377204451fffaed88276b8193e894893b1003e25c5bca6539288ccca3698", size = 111738, upload-time = "2026-02-10T14:56:47.985Z" }, + { url = "https://files.pythonhosted.org/packages/9c/1d/a509af07535d8f4621d77f3ba5ec846ee6d52c59d2239e1385ec3b29bf92/langchain-1.2.13-py3-none-any.whl", hash = "sha256:37d4526ac4b0cdd3d7706a6366124c30dc0771bf5340865b37cdc99d5e5ad9b1", size = 112488, upload-time = "2026-03-19T17:16:06.134Z" }, ] [[package]] name = "langchain-core" -version = "1.2.14" +version = "1.2.23" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jsonpatch" }, @@ -889,9 +966,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "uuid-utils" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3f/ff/c5e3da8eca8a18719b300ef6c29e28208ee4e9da7f9749022b96292b6541/langchain_core-1.2.14.tar.gz", hash = "sha256:09549d838a2672781da3a9502f3b9c300863284b77b27e2a6dac4e6e650acfed", size = 833399, upload-time = "2026-02-19T14:22:33.514Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/47/a5f21b651e9cbd7a26c3e5809336d10a0be94ef7bdf6bea47f2ad9fff1a8/langchain_core-1.2.23.tar.gz", hash = "sha256:fdec64f90cfea25317e88d9803c44684af1f4e30dec4e58320dd7393bb0f0785", size = 841684, upload-time = "2026-03-27T23:28:14.6Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/41/fe6ae9065b866b1397adbfc98db5e1648e8dcd78126b8e1266fcbe2d6395/langchain_core-1.2.14-py3-none-any.whl", hash = "sha256:b349ca28c057ac1f9b5280ea091bddb057db24d0f1c3c89bbb590713e1715838", size = 501411, upload-time = "2026-02-19T14:22:32.013Z" }, + { url = "https://files.pythonhosted.org/packages/9b/5a/6ff2d76618e4cac531ea51d4ef44c6add36575a84c3f0f8877aee68c951a/langchain_core-1.2.23-py3-none-any.whl", hash = "sha256:70866dfc5275b7840ce272ff70f0ff216c8666ab25dc1b41964a4ef58c02a3ff", size = 506709, upload-time = "2026-03-27T23:28:13.372Z" }, ] [[package]] @@ -909,7 +986,7 @@ wheels = [ [[package]] name = "langgraph" -version = "1.0.9" +version = "1.1.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "langchain-core" }, @@ -919,22 +996,22 @@ dependencies = [ { name = "pydantic" }, { name = "xxhash" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dc/63/69373a6721f30026ffa462a62084b11ed4bb5a201d1672366e13a89532f3/langgraph-1.0.9.tar.gz", hash = "sha256:feac2729faba7d3c325bef76f240d7d7f66b02d2cbf4fdb1ed7d0cc83f963651", size = 502800, upload-time = "2026-02-19T18:19:45.228Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d2/b2/e7db624e8b0ee063ecfbf7acc09467c0836a05914a78e819dfb3744a0fac/langgraph-1.1.3.tar.gz", hash = "sha256:ee496c297a9c93b38d8560be15cbb918110f49077d83abd14976cb13ac3b3370", size = 545120, upload-time = "2026-03-18T23:42:58.24Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/23/a2/562a6c2430085c2c29b23c1e1d12233bf41a64e9a9832eda7573af3666cf/langgraph-1.0.9-py3-none-any.whl", hash = "sha256:bce0d1f3e9a20434215a2a818395a58aedfc11c87bd6b52706c0db5c05ec44ec", size = 158150, upload-time = "2026-02-19T18:19:43.913Z" }, + { url = "https://files.pythonhosted.org/packages/fb/f7/221cc479e95e03e260496616e5ce6fb50c1ea01472e3a5bc481a9b8a2f83/langgraph-1.1.3-py3-none-any.whl", hash = "sha256:57cd6964ebab41cbd211f222293a2352404e55f8b2312cecde05e8753739b546", size = 168149, upload-time = "2026-03-18T23:42:56.967Z" }, ] [[package]] name = "langgraph-checkpoint" -version = "4.0.0" +version = "4.0.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "langchain-core" }, { name = "ormsgpack" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/98/76/55a18c59dedf39688d72c4b06af73a5e3ea0d1a01bc867b88fbf0659f203/langgraph_checkpoint-4.0.0.tar.gz", hash = "sha256:814d1bd050fac029476558d8e68d87bce9009a0262d04a2c14b918255954a624", size = 137320, upload-time = "2026-01-12T20:30:26.38Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b1/44/a8df45d1e8b4637e29789fa8bae1db022c953cc7ac80093cfc52e923547e/langgraph_checkpoint-4.0.1.tar.gz", hash = "sha256:b433123735df11ade28829e40ce25b9be614930cd50245ff2af60629234befd9", size = 158135, upload-time = "2026-02-27T21:06:16.092Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4a/de/ddd53b7032e623f3c7bcdab2b44e8bf635e468f62e10e5ff1946f62c9356/langgraph_checkpoint-4.0.0-py3-none-any.whl", hash = "sha256:3fa9b2635a7c5ac28b338f631abf6a030c3b508b7b9ce17c22611513b589c784", size = 46329, upload-time = "2026-01-12T20:30:25.2Z" }, + { url = "https://files.pythonhosted.org/packages/65/4c/09a4a0c42f5d2fc38d6c4d67884788eff7fd2cfdf367fdf7033de908b4c0/langgraph_checkpoint-4.0.1-py3-none-any.whl", hash = "sha256:e3adcd7a0e0166f3b48b8cf508ce0ea366e7420b5a73aa81289888727769b034", size = 50453, upload-time = "2026-02-27T21:06:14.293Z" }, ] [[package]] @@ -952,20 +1029,20 @@ wheels = [ [[package]] name = "langgraph-sdk" -version = "0.3.8" +version = "0.3.12" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "httpx" }, { name = "orjson" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/48/22/f451b7f42e7c553f649c51698b5ff82ed1932993bcb9b7a7c53d888849e1/langgraph_sdk-0.3.8.tar.gz", hash = "sha256:e73e56e403254ebada5cab70165eb0b69155979e2360bca84da2cb63f364dfb9", size = 183804, upload-time = "2026-02-19T19:12:37.971Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/a1/012f0e0f5c9fd26f92bdc9d244756ad673c428230156ef668e6ec7c18cee/langgraph_sdk-0.3.12.tar.gz", hash = "sha256:c9c9ec22b3c0fcd352e2b8f32a815164f69446b8648ca22606329f4ff4c59a71", size = 194932, upload-time = "2026-03-18T22:15:54.592Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/77/00887fb1fb2c0d61eed0dd76d1ed919558b679f71904d63de6925ca350f9/langgraph_sdk-0.3.8-py3-none-any.whl", hash = "sha256:90436594e95c6fc1d1dafb59ac1c5eff2f8e1853eecc6082262b8e6de04233c1", size = 90038, upload-time = "2026-02-19T19:12:36.65Z" }, + { url = "https://files.pythonhosted.org/packages/17/4d/4f796e86b03878ab20d9b30aaed1ad459eda71a5c5b67f7cfe712f3548f2/langgraph_sdk-0.3.12-py3-none-any.whl", hash = "sha256:44323804965d6ec2a07127b3cf08a0428ea6deaeb172c2d478d5cd25540e3327", size = 95834, upload-time = "2026-03-18T22:15:53.545Z" }, ] [[package]] name = "langsmith" -version = "0.7.5" +version = "0.7.22" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "httpx" }, @@ -978,9 +1055,9 @@ dependencies = [ { name = "xxhash" }, { name = "zstandard" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/55/a3641cae990c842d3f4c52e5308b391267c98ce531a7a586dfedf1a78c42/langsmith-0.7.5.tar.gz", hash = "sha256:e3bfc2d7ff0a6f9a719125e1e136b5f4fa11828a2be8979f47ee1a4c0510030e", size = 1038926, upload-time = "2026-02-19T20:47:51.144Z" } +sdist = { url = "https://files.pythonhosted.org/packages/be/2a/2d5e6c67396fd228670af278c4da7bd6db2b8d11deaf6f108490b6d3f561/langsmith-0.7.22.tar.gz", hash = "sha256:35bfe795d648b069958280760564632fd28ebc9921c04f3e209c0db6a6c7dc04", size = 1134923, upload-time = "2026-03-19T22:45:23.492Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/32/0e/65b3fab6db843150ed38f226b39213565c644f0aaa515e0168bb1eaee5ae/langsmith-0.7.5-py3-none-any.whl", hash = "sha256:c120c43c98af5f5af8877341f8256aba1a170a292645b31572f06b0cf703c683", size = 324337, upload-time = "2026-02-19T20:47:47.537Z" }, + { url = "https://files.pythonhosted.org/packages/1a/94/1f5d72655ab6534129540843776c40eff757387b88e798d8b3bf7e313fd4/langsmith-0.7.22-py3-none-any.whl", hash = "sha256:6e9d5148314d74e86748cb9d3898632cad0320c9323d95f70f969e5bc078eee4", size = 359927, upload-time = "2026-03-19T22:45:21.603Z" }, ] [[package]] @@ -1061,6 +1138,32 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/be/2f/5108cb3ee4ba6501748c4908b908e55f42a5b66245b4cfe0c99326e1ef6e/marshmallow-3.26.2-py3-none-any.whl", hash = "sha256:013fa8a3c4c276c24d26d84ce934dc964e2aa794345a0f8c7e5a7191482c8a73", size = 50964, upload-time = "2025-12-22T06:53:51.801Z" }, ] +[[package]] +name = "matplotlib" +version = "3.10.8" +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/8a/76/d3c6e3a13fe484ebe7718d14e269c9569c4eb0020a968a327acb3b9a8fe6/matplotlib-3.10.8.tar.gz", hash = "sha256:2299372c19d56bcd35cf05a2738308758d32b9eaed2371898d8f5bd33f084aa3", size = 34806269, upload-time = "2025-12-10T22:56:51.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/67/f997cdcbb514012eb0d10cd2b4b332667997fb5ebe26b8d41d04962fa0e6/matplotlib-3.10.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:64fcc24778ca0404ce0cb7b6b77ae1f4c7231cdd60e6778f999ee05cbd581b9a", size = 8260453, upload-time = "2025-12-10T22:55:30.709Z" }, + { url = "https://files.pythonhosted.org/packages/7e/65/07d5f5c7f7c994f12c768708bd2e17a4f01a2b0f44a1c9eccad872433e2e/matplotlib-3.10.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9a5ca4ac220a0cdd1ba6bcba3608547117d30468fefce49bb26f55c1a3d5c58", size = 8148321, upload-time = "2025-12-10T22:55:33.265Z" }, + { url = "https://files.pythonhosted.org/packages/3e/f3/c5195b1ae57ef85339fd7285dfb603b22c8b4e79114bae5f4f0fcf688677/matplotlib-3.10.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3ab4aabc72de4ff77b3ec33a6d78a68227bf1123465887f9905ba79184a1cc04", size = 8716944, upload-time = "2025-12-10T22:55:34.922Z" }, + { url = "https://files.pythonhosted.org/packages/00/f9/7638f5cc82ec8a7aa005de48622eecc3ed7c9854b96ba15bd76b7fd27574/matplotlib-3.10.8-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:24d50994d8c5816ddc35411e50a86ab05f575e2530c02752e02538122613371f", size = 9550099, upload-time = "2025-12-10T22:55:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/57/61/78cd5920d35b29fd2a0fe894de8adf672ff52939d2e9b43cb83cd5ce1bc7/matplotlib-3.10.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:99eefd13c0dc3b3c1b4d561c1169e65fe47aab7b8158754d7c084088e2329466", size = 9613040, upload-time = "2025-12-10T22:55:38.715Z" }, + { url = "https://files.pythonhosted.org/packages/30/4e/c10f171b6e2f44d9e3a2b96efa38b1677439d79c99357600a62cc1e9594e/matplotlib-3.10.8-cp312-cp312-win_amd64.whl", hash = "sha256:dd80ecb295460a5d9d260df63c43f4afbdd832d725a531f008dad1664f458adf", size = 8142717, upload-time = "2025-12-10T22:55:41.103Z" }, + { url = "https://files.pythonhosted.org/packages/f1/76/934db220026b5fef85f45d51a738b91dea7d70207581063cd9bd8fafcf74/matplotlib-3.10.8-cp312-cp312-win_arm64.whl", hash = "sha256:3c624e43ed56313651bc18a47f838b60d7b8032ed348911c54906b130b20071b", size = 8012751, upload-time = "2025-12-10T22:55:42.684Z" }, +] + [[package]] name = "matplotlib-inline" version = "0.2.1" @@ -1166,7 +1269,7 @@ wheels = [ [[package]] name = "notebook" -version = "7.5.3" +version = "7.5.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jupyter-server" }, @@ -1175,9 +1278,9 @@ dependencies = [ { name = "notebook-shim" }, { name = "tornado" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b8/cb/cc7f4df5cee315dd126a47eb60890690a0438d5e0dd40c32d60ce16de377/notebook-7.5.3.tar.gz", hash = "sha256:393ceb269cf9fdb02a3be607a57d7bd5c2c14604f1818a17dbeb38e04f98cbfa", size = 14073140, upload-time = "2026-01-26T07:28:36.605Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1f/6d/41052c48d6f6349ca0a7c4d1f6a78464de135e6d18f5829ba2510e62184c/notebook-7.5.5.tar.gz", hash = "sha256:dc0bfab0f2372c8278c457423d3256c34154ac2cc76bf20e9925260c461013c3", size = 14169167, upload-time = "2026-03-11T16:32:51.922Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/96/98/9286e7f35e5584ebb79f997f2fb0cb66745c86f6c5fccf15ba32aac5e908/notebook-7.5.3-py3-none-any.whl", hash = "sha256:c997bfa1a2a9eb58c9bbb7e77d50428befb1033dd6f02c482922e96851d67354", size = 14481744, upload-time = "2026-01-26T07:28:31.867Z" }, + { url = "https://files.pythonhosted.org/packages/f8/aa/cbd1deb9f07446241e88f8d5fecccd95b249bca0b4e5482214a4d1714c49/notebook-7.5.5-py3-none-any.whl", hash = "sha256:a7c14dbeefa6592e87f72290ca982e0c10f5bbf3786be2a600fda9da2764a2b8", size = 14578929, upload-time = "2026-03-11T16:32:48.021Z" }, ] [[package]] @@ -1194,21 +1297,21 @@ wheels = [ [[package]] name = "numpy" -version = "2.4.2" +version = "2.4.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/57/fd/0005efbd0af48e55eb3c7208af93f2862d4b1a56cd78e84309a2d959208d/numpy-2.4.2.tar.gz", hash = "sha256:659a6107e31a83c4e33f763942275fd278b21d095094044eb35569e86a21ddae", size = 20723651, upload-time = "2026-01-31T23:13:10.135Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/9f/b8cef5bffa569759033adda9481211426f12f53299629b410340795c2514/numpy-2.4.4.tar.gz", hash = "sha256:2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0", size = 20731587, upload-time = "2026-03-29T13:22:01.298Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/51/6e/6f394c9c77668153e14d4da83bcc247beb5952f6ead7699a1a2992613bea/numpy-2.4.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:21982668592194c609de53ba4933a7471880ccbaadcc52352694a59ecc860b3a", size = 16667963, upload-time = "2026-01-31T23:10:52.147Z" }, - { url = "https://files.pythonhosted.org/packages/1f/f8/55483431f2b2fd015ae6ed4fe62288823ce908437ed49db5a03d15151678/numpy-2.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40397bda92382fcec844066efb11f13e1c9a3e2a8e8f318fb72ed8b6db9f60f1", size = 14693571, upload-time = "2026-01-31T23:10:54.789Z" }, - { url = "https://files.pythonhosted.org/packages/2f/20/18026832b1845cdc82248208dd929ca14c9d8f2bac391f67440707fff27c/numpy-2.4.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:b3a24467af63c67829bfaa61eecf18d5432d4f11992688537be59ecd6ad32f5e", size = 5203469, upload-time = "2026-01-31T23:10:57.343Z" }, - { url = "https://files.pythonhosted.org/packages/7d/33/2eb97c8a77daaba34eaa3fa7241a14ac5f51c46a6bd5911361b644c4a1e2/numpy-2.4.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:805cc8de9fd6e7a22da5aed858e0ab16be5a4db6c873dde1d7451c541553aa27", size = 6550820, upload-time = "2026-01-31T23:10:59.429Z" }, - { url = "https://files.pythonhosted.org/packages/b1/91/b97fdfd12dc75b02c44e26c6638241cc004d4079a0321a69c62f51470c4c/numpy-2.4.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d82351358ffbcdcd7b686b90742a9b86632d6c1c051016484fa0b326a0a1548", size = 15663067, upload-time = "2026-01-31T23:11:01.291Z" }, - { url = "https://files.pythonhosted.org/packages/f5/c6/a18e59f3f0b8071cc85cbc8d80cd02d68aa9710170b2553a117203d46936/numpy-2.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e35d3e0144137d9fdae62912e869136164534d64a169f86438bc9561b6ad49f", size = 16619782, upload-time = "2026-01-31T23:11:03.669Z" }, - { url = "https://files.pythonhosted.org/packages/b7/83/9751502164601a79e18847309f5ceec0b1446d7b6aa12305759b72cf98b2/numpy-2.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:adb6ed2ad29b9e15321d167d152ee909ec73395901b70936f029c3bc6d7f4460", size = 17013128, upload-time = "2026-01-31T23:11:05.913Z" }, - { url = "https://files.pythonhosted.org/packages/61/c4/c4066322256ec740acc1c8923a10047818691d2f8aec254798f3dd90f5f2/numpy-2.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8906e71fd8afcb76580404e2a950caef2685df3d2a57fe82a86ac8d33cc007ba", size = 18345324, upload-time = "2026-01-31T23:11:08.248Z" }, - { url = "https://files.pythonhosted.org/packages/ab/af/6157aa6da728fa4525a755bfad486ae7e3f76d4c1864138003eb84328497/numpy-2.4.2-cp312-cp312-win32.whl", hash = "sha256:ec055f6dae239a6299cace477b479cca2fc125c5675482daf1dd886933a1076f", size = 5960282, upload-time = "2026-01-31T23:11:10.497Z" }, - { url = "https://files.pythonhosted.org/packages/92/0f/7ceaaeaacb40567071e94dbf2c9480c0ae453d5bb4f52bea3892c39dc83c/numpy-2.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:209fae046e62d0ce6435fcfe3b1a10537e858249b3d9b05829e2a05218296a85", size = 12314210, upload-time = "2026-01-31T23:11:12.176Z" }, - { url = "https://files.pythonhosted.org/packages/2f/a3/56c5c604fae6dd40fa2ed3040d005fca97e91bd320d232ac9931d77ba13c/numpy-2.4.2-cp312-cp312-win_arm64.whl", hash = "sha256:fbde1b0c6e81d56f5dccd95dd4a711d9b95df1ae4009a60887e56b27e8d903fa", size = 10220171, upload-time = "2026-01-31T23:11:14.684Z" }, + { url = "https://files.pythonhosted.org/packages/28/05/32396bec30fb2263770ee910142f49c1476d08e8ad41abf8403806b520ce/numpy-2.4.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:15716cfef24d3a9762e3acdf87e27f58dc823d1348f765bbea6bef8c639bfa1b", size = 16689272, upload-time = "2026-03-29T13:18:49.223Z" }, + { url = "https://files.pythonhosted.org/packages/c5/f3/a983d28637bfcd763a9c7aafdb6d5c0ebf3d487d1e1459ffdb57e2f01117/numpy-2.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23cbfd4c17357c81021f21540da84ee282b9c8fba38a03b7b9d09ba6b951421e", size = 14699573, upload-time = "2026-03-29T13:18:52.629Z" }, + { url = "https://files.pythonhosted.org/packages/9b/fd/e5ecca1e78c05106d98028114f5c00d3eddb41207686b2b7de3e477b0e22/numpy-2.4.4-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8b3b60bb7cba2c8c81837661c488637eee696f59a877788a396d33150c35d842", size = 5204782, upload-time = "2026-03-29T13:18:55.579Z" }, + { url = "https://files.pythonhosted.org/packages/de/2f/702a4594413c1a8632092beae8aba00f1d67947389369b3777aed783fdca/numpy-2.4.4-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e4a010c27ff6f210ff4c6ef34394cd61470d01014439b192ec22552ee867f2a8", size = 6552038, upload-time = "2026-03-29T13:18:57.769Z" }, + { url = "https://files.pythonhosted.org/packages/7f/37/eed308a8f56cba4d1fdf467a4fc67ef4ff4bf1c888f5fc980481890104b1/numpy-2.4.4-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f9e75681b59ddaa5e659898085ae0eaea229d054f2ac0c7e563a62205a700121", size = 15670666, upload-time = "2026-03-29T13:19:00.341Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0d/0e3ecece05b7a7e87ab9fb587855548da437a061326fff64a223b6dcb78a/numpy-2.4.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:81f4a14bee47aec54f883e0cad2d73986640c1590eb9bfaaba7ad17394481e6e", size = 16645480, upload-time = "2026-03-29T13:19:03.63Z" }, + { url = "https://files.pythonhosted.org/packages/34/49/f2312c154b82a286758ee2f1743336d50651f8b5195db18cdb63675ff649/numpy-2.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:62d6b0f03b694173f9fcb1fb317f7222fd0b0b103e784c6549f5e53a27718c44", size = 17020036, upload-time = "2026-03-29T13:19:07.428Z" }, + { url = "https://files.pythonhosted.org/packages/7b/e9/736d17bd77f1b0ec4f9901aaec129c00d59f5d84d5e79bba540ef12c2330/numpy-2.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fbc356aae7adf9e6336d336b9c8111d390a05df88f1805573ebb0807bd06fd1d", size = 18368643, upload-time = "2026-03-29T13:19:10.775Z" }, + { url = "https://files.pythonhosted.org/packages/63/f6/d417977c5f519b17c8a5c3bc9e8304b0908b0e21136fe43bf628a1343914/numpy-2.4.4-cp312-cp312-win32.whl", hash = "sha256:0d35aea54ad1d420c812bfa0385c71cd7cc5bcf7c65fed95fc2cd02fe8c79827", size = 5961117, upload-time = "2026-03-29T13:19:13.464Z" }, + { url = "https://files.pythonhosted.org/packages/2d/5b/e1deebf88ff431b01b7406ca3583ab2bbb90972bbe1c568732e49c844f7e/numpy-2.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:b5f0362dc928a6ecd9db58868fca5e48485205e3855957bdedea308f8672ea4a", size = 12320584, upload-time = "2026-03-29T13:19:16.155Z" }, + { url = "https://files.pythonhosted.org/packages/58/89/e4e856ac82a68c3ed64486a544977d0e7bdd18b8da75b78a577ca31c4395/numpy-2.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:846300f379b5b12cc769334464656bc882e0735d27d9726568bc932fdc49d5ec", size = 10221450, upload-time = "2026-03-29T13:19:18.994Z" }, ] [[package]] @@ -1345,11 +1448,11 @@ wheels = [ [[package]] name = "platformdirs" -version = "4.9.2" +version = "4.9.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1b/04/fea538adf7dbbd6d186f551d595961e564a3b6715bdf276b477460858672/platformdirs-4.9.2.tar.gz", hash = "sha256:9a33809944b9db043ad67ca0db94b14bf452cc6aeaac46a88ea55b26e2e9d291", size = 28394, upload-time = "2026-02-16T03:56:10.574Z" } +sdist = { url = "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz", hash = "sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934", size = 28737, upload-time = "2026-03-05T18:34:13.271Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/48/31/05e764397056194206169869b50cf2fee4dbbbc71b344705b9c0d878d4d8/platformdirs-4.9.2-py3-none-any.whl", hash = "sha256:9170634f126f8efdae22fb58ae8a0eaa86f38365bc57897a6c4f781d1f5875bd", size = 21168, upload-time = "2026-02-16T03:56:08.891Z" }, + { url = "https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl", hash = "sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868", size = 21216, upload-time = "2026-03-05T18:34:12.172Z" }, ] [[package]] @@ -1478,11 +1581,20 @@ wheels = [ [[package]] name = "pygments" -version = "2.19.2" +version = "2.20.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, + { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, +] + +[[package]] +name = "pyparsing" +version = "3.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, ] [[package]] @@ -1498,12 +1610,25 @@ wheels = [ ] [[package]] -name = "python-dotenv" +name = "python-discovery" version = "1.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz", hash = "sha256:42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6", size = 44221, upload-time = "2025-10-26T15:12:10.434Z" } +dependencies = [ + { name = "filelock" }, + { name = "platformdirs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/88/815e53084c5079a59df912825a279f41dd2e0df82281770eadc732f5352c/python_discovery-1.2.1.tar.gz", hash = "sha256:180c4d114bff1c32462537eac5d6a332b768242b76b69c0259c7d14b1b680c9e", size = 58457, upload-time = "2026-03-26T22:30:44.496Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" }, + { url = "https://files.pythonhosted.org/packages/67/0f/019d3949a40280f6193b62bc010177d4ce702d0fce424322286488569cd3/python_discovery-1.2.1-py3-none-any.whl", hash = "sha256:b6a957b24c1cd79252484d3566d1b49527581d46e789aaf43181005e56201502", size = 31674, upload-time = "2026-03-26T22:30:43.396Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz", hash = "sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3", size = 50135, upload-time = "2026-03-01T16:00:26.196Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a", size = 22101, upload-time = "2026-03-01T16:00:25.09Z" }, ] [[package]] @@ -1520,11 +1645,11 @@ wheels = [ [[package]] name = "python-json-logger" -version = "4.0.0" +version = "4.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/29/bf/eca6a3d43db1dae7070f70e160ab20b807627ba953663ba07928cdd3dc58/python_json_logger-4.0.0.tar.gz", hash = "sha256:f58e68eb46e1faed27e0f574a55a0455eecd7b8a5b88b85a784519ba3cff047f", size = 17683, upload-time = "2025-10-06T04:15:18.984Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f7/ff/3cc9165fd44106973cd7ac9facb674a65ed853494592541d339bdc9a30eb/python_json_logger-4.1.0.tar.gz", hash = "sha256:b396b9e3ed782b09ff9d6e4f1683d46c83ad0d35d2e407c09a9ebbf038f88195", size = 17573, upload-time = "2026-03-29T04:39:56.805Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/51/e5/fecf13f06e5e5f67e8837d777d1bc43fac0ed2b77a676804df5c34744727/python_json_logger-4.0.0-py3-none-any.whl", hash = "sha256:af09c9daf6a813aa4cc7180395f50f2a9e5fa056034c9953aec92e381c5ba1e2", size = 15548, upload-time = "2025-10-06T04:15:17.553Z" }, + { url = "https://files.pythonhosted.org/packages/27/be/0631a861af4d1c875f096c07d34e9a63639560a717130e7a87cbc82b7e3f/python_json_logger-4.1.0-py3-none-any.whl", hash = "sha256:132994765cf75bf44554be9aa49b06ef2345d23661a96720262716438141b6b2", size = 15021, upload-time = "2026-03-29T04:39:55.266Z" }, ] [[package]] @@ -1592,7 +1717,7 @@ wheels = [ [[package]] name = "requests" -version = "2.32.5" +version = "2.33.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, @@ -1600,9 +1725,9 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +sdist = { url = "https://files.pythonhosted.org/packages/34/64/8860370b167a9721e8956ae116825caff829224fbca0ca6e7bf8ddef8430/requests-2.33.0.tar.gz", hash = "sha256:c7ebc5e8b0f21837386ad0e1c8fe8b829fa5f544d8df3b2253bff14ef29d7652", size = 134232, upload-time = "2026-03-25T15:10:41.586Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, + { url = "https://files.pythonhosted.org/packages/56/5d/c814546c2333ceea4ba42262d8c4d55763003e767fa169adc693bd524478/requests-2.33.0-py3-none-any.whl", hash = "sha256:3324635456fa185245e24865e810cecec7b4caf933d7eb133dcde67d48cee69b", size = 65017, upload-time = "2026-03-25T15:10:40.382Z" }, ] [[package]] @@ -1697,11 +1822,11 @@ wheels = [ [[package]] name = "setuptools" -version = "82.0.0" +version = "82.0.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/82/f3/748f4d6f65d1756b9ae577f329c951cda23fb900e4de9f70900ced962085/setuptools-82.0.0.tar.gz", hash = "sha256:22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb", size = 1144893, upload-time = "2026-02-08T15:08:40.206Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4f/db/cfac1baf10650ab4d1c111714410d2fbb77ac5a616db26775db562c8fab2/setuptools-82.0.1.tar.gz", hash = "sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9", size = 1152316, upload-time = "2026-03-09T12:47:17.221Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/c6/76dc613121b793286a3f91621d7b75a2b493e0390ddca50f11993eadf192/setuptools-82.0.0-py3-none-any.whl", hash = "sha256:70b18734b607bd1da571d097d236cfcfacaf01de45717d59e6e04b96877532e0", size = 1003468, upload-time = "2026-02-08T15:08:38.723Z" }, + { url = "https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl", hash = "sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb", size = 1006223, upload-time = "2026-03-09T12:47:15.026Z" }, ] [[package]] @@ -1797,21 +1922,19 @@ wheels = [ [[package]] name = "tornado" -version = "6.5.4" +version = "6.5.5" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/37/1d/0a336abf618272d53f62ebe274f712e213f5a03c0b2339575430b8362ef2/tornado-6.5.4.tar.gz", hash = "sha256:a22fa9047405d03260b483980635f0b041989d8bcc9a313f8fe18b411d84b1d7", size = 513632, upload-time = "2025-12-15T19:21:03.836Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/f1/3173dfa4a18db4a9b03e5d55325559dab51ee653763bb8745a75af491286/tornado-6.5.5.tar.gz", hash = "sha256:192b8f3ea91bd7f1f50c06955416ed76c6b72f96779b962f07f911b91e8d30e9", size = 516006, upload-time = "2026-03-10T21:31:02.067Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ab/a9/e94a9d5224107d7ce3cc1fab8d5dc97f5ea351ccc6322ee4fb661da94e35/tornado-6.5.4-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d6241c1a16b1c9e4cc28148b1cda97dd1c6cb4fb7068ac1bedc610768dff0ba9", size = 443909, upload-time = "2025-12-15T19:20:48.382Z" }, - { url = "https://files.pythonhosted.org/packages/db/7e/f7b8d8c4453f305a51f80dbb49014257bb7d28ccb4bbb8dd328ea995ecad/tornado-6.5.4-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2d50f63dda1d2cac3ae1fa23d254e16b5e38153758470e9956cbc3d813d40843", size = 442163, upload-time = "2025-12-15T19:20:49.791Z" }, - { url = "https://files.pythonhosted.org/packages/ba/b5/206f82d51e1bfa940ba366a8d2f83904b15942c45a78dd978b599870ab44/tornado-6.5.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1cf66105dc6acb5af613c054955b8137e34a03698aa53272dbda4afe252be17", size = 445746, upload-time = "2025-12-15T19:20:51.491Z" }, - { url = "https://files.pythonhosted.org/packages/8e/9d/1a3338e0bd30ada6ad4356c13a0a6c35fbc859063fa7eddb309183364ac1/tornado-6.5.4-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50ff0a58b0dc97939d29da29cd624da010e7f804746621c78d14b80238669335", size = 445083, upload-time = "2025-12-15T19:20:52.778Z" }, - { url = "https://files.pythonhosted.org/packages/50/d4/e51d52047e7eb9a582da59f32125d17c0482d065afd5d3bc435ff2120dc5/tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5fb5e04efa54cf0baabdd10061eb4148e0be137166146fff835745f59ab9f7f", size = 445315, upload-time = "2025-12-15T19:20:53.996Z" }, - { url = "https://files.pythonhosted.org/packages/27/07/2273972f69ca63dbc139694a3fc4684edec3ea3f9efabf77ed32483b875c/tornado-6.5.4-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9c86b1643b33a4cd415f8d0fe53045f913bf07b4a3ef646b735a6a86047dda84", size = 446003, upload-time = "2025-12-15T19:20:56.101Z" }, - { url = "https://files.pythonhosted.org/packages/d1/83/41c52e47502bf7260044413b6770d1a48dda2f0246f95ee1384a3cd9c44a/tornado-6.5.4-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:6eb82872335a53dd063a4f10917b3efd28270b56a33db69009606a0312660a6f", size = 445412, upload-time = "2025-12-15T19:20:57.398Z" }, - { url = "https://files.pythonhosted.org/packages/10/c7/bc96917f06cbee182d44735d4ecde9c432e25b84f4c2086143013e7b9e52/tornado-6.5.4-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6076d5dda368c9328ff41ab5d9dd3608e695e8225d1cd0fd1e006f05da3635a8", size = 445392, upload-time = "2025-12-15T19:20:58.692Z" }, - { url = "https://files.pythonhosted.org/packages/0c/1a/d7592328d037d36f2d2462f4bc1fbb383eec9278bc786c1b111cbbd44cfa/tornado-6.5.4-cp39-abi3-win32.whl", hash = "sha256:1768110f2411d5cd281bac0a090f707223ce77fd110424361092859e089b38d1", size = 446481, upload-time = "2025-12-15T19:21:00.008Z" }, - { url = "https://files.pythonhosted.org/packages/d6/6d/c69be695a0a64fd37a97db12355a035a6d90f79067a3cf936ec2b1dc38cd/tornado-6.5.4-cp39-abi3-win_amd64.whl", hash = "sha256:fa07d31e0cd85c60713f2b995da613588aa03e1303d75705dca6af8babc18ddc", size = 446886, upload-time = "2025-12-15T19:21:01.287Z" }, - { url = "https://files.pythonhosted.org/packages/50/49/8dc3fd90902f70084bd2cd059d576ddb4f8bb44c2c7c0e33a11422acb17e/tornado-6.5.4-cp39-abi3-win_arm64.whl", hash = "sha256:053e6e16701eb6cbe641f308f4c1a9541f91b6261991160391bfc342e8a551a1", size = 445910, upload-time = "2025-12-15T19:21:02.571Z" }, + { url = "https://files.pythonhosted.org/packages/59/8c/77f5097695f4dd8255ecbd08b2a1ed8ba8b953d337804dd7080f199e12bf/tornado-6.5.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:487dc9cc380e29f58c7ab88f9e27cdeef04b2140862e5076a66fb6bb68bb1bfa", size = 445983, upload-time = "2026-03-10T21:30:44.28Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5e/7625b76cd10f98f1516c36ce0346de62061156352353ef2da44e5c21523c/tornado-6.5.5-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:65a7f1d46d4bb41df1ac99f5fcb685fb25c7e61613742d5108b010975a9a6521", size = 444246, upload-time = "2026-03-10T21:30:46.571Z" }, + { url = "https://files.pythonhosted.org/packages/b2/04/7b5705d5b3c0fab088f434f9c83edac1573830ca49ccf29fb83bf7178eec/tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e74c92e8e65086b338fd56333fb9a68b9f6f2fe7ad532645a290a464bcf46be5", size = 447229, upload-time = "2026-03-10T21:30:48.273Z" }, + { url = "https://files.pythonhosted.org/packages/34/01/74e034a30ef59afb4097ef8659515e96a39d910b712a89af76f5e4e1f93c/tornado-6.5.5-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:435319e9e340276428bbdb4e7fa732c2d399386d1de5686cb331ec8eee754f07", size = 448192, upload-time = "2026-03-10T21:30:51.22Z" }, + { url = "https://files.pythonhosted.org/packages/be/00/fe9e02c5a96429fce1a1d15a517f5d8444f9c412e0bb9eadfbe3b0fc55bf/tornado-6.5.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3f54aa540bdbfee7b9eb268ead60e7d199de5021facd276819c193c0fb28ea4e", size = 448039, upload-time = "2026-03-10T21:30:53.52Z" }, + { url = "https://files.pythonhosted.org/packages/82/9e/656ee4cec0398b1d18d0f1eb6372c41c6b889722641d84948351ae19556d/tornado-6.5.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:36abed1754faeb80fbd6e64db2758091e1320f6bba74a4cf8c09cd18ccce8aca", size = 447445, upload-time = "2026-03-10T21:30:55.541Z" }, + { url = "https://files.pythonhosted.org/packages/5a/76/4921c00511f88af86a33de770d64141170f1cfd9c00311aea689949e274e/tornado-6.5.5-cp39-abi3-win32.whl", hash = "sha256:dd3eafaaeec1c7f2f8fdcd5f964e8907ad788fe8a5a32c4426fbbdda621223b7", size = 448582, upload-time = "2026-03-10T21:30:57.142Z" }, + { url = "https://files.pythonhosted.org/packages/2c/23/f6c6112a04d28eed765e374435fb1a9198f73e1ec4b4024184f21faeb1ad/tornado-6.5.5-cp39-abi3-win_amd64.whl", hash = "sha256:6443a794ba961a9f619b1ae926a2e900ac20c34483eea67be4ed8f1e58d3ef7b", size = 448990, upload-time = "2026-03-10T21:30:58.857Z" }, + { url = "https://files.pythonhosted.org/packages/b7/c8/876602cbc96469911f0939f703453c1157b0c826ecb05bdd32e023397d4e/tornado-6.5.5-cp39-abi3-win_arm64.whl", hash = "sha256:2c9a876e094109333f888539ddb2de4361743e5d21eece20688e3e351e4990a6", size = 448016, upload-time = "2026-03-10T21:31:00.43Z" }, ] [[package]] @@ -1825,7 +1948,7 @@ wheels = [ [[package]] name = "typer" -version = "0.24.0" +version = "0.24.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "annotated-doc" }, @@ -1833,9 +1956,9 @@ dependencies = [ { name = "rich" }, { name = "shellingham" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5a/b6/3e681d3b6bb22647509bdbfdd18055d5adc0dce5c5585359fa46ff805fdc/typer-0.24.0.tar.gz", hash = "sha256:f9373dc4eff901350694f519f783c29b6d7a110fc0dcc11b1d7e353b85ca6504", size = 118380, upload-time = "2026-02-16T22:08:48.496Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/24/cb09efec5cc954f7f9b930bf8279447d24618bb6758d4f6adf2574c41780/typer-0.24.1.tar.gz", hash = "sha256:e39b4732d65fbdcde189ae76cf7cd48aeae72919dea1fdfc16593be016256b45", size = 118613, upload-time = "2026-02-21T16:54:40.609Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/85/d0/4da85c2a45054bb661993c93524138ace4956cb075a7ae0c9d1deadc331b/typer-0.24.0-py3-none-any.whl", hash = "sha256:5fc435a9c8356f6160ed6e85a6301fdd6e3d8b2851da502050d1f92c5e9eddc8", size = 56441, upload-time = "2026-02-16T22:08:47.535Z" }, + { url = "https://files.pythonhosted.org/packages/4a/91/48db081e7a63bb37284f9fbcefda7c44c277b18b0e13fbc36ea2335b71e6/typer-0.24.1-py3-none-any.whl", hash = "sha256:112c1f0ce578bfb4cab9ffdabc68f031416ebcc216536611ba21f04e9aa84c9e", size = 56085, upload-time = "2026-02-21T16:54:41.616Z" }, ] [[package]] @@ -1888,38 +2011,39 @@ wheels = [ [[package]] name = "uuid-utils" -version = "0.14.0" +version = "0.14.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/57/7c/3a926e847516e67bc6838634f2e54e24381105b4e80f9338dc35cca0086b/uuid_utils-0.14.0.tar.gz", hash = "sha256:fc5bac21e9933ea6c590433c11aa54aaca599f690c08069e364eb13a12f670b4", size = 22072, upload-time = "2026-01-20T20:37:15.729Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/d1/38a573f0c631c062cf42fa1f5d021d4dd3c31fb23e4376e4b56b0c9fbbed/uuid_utils-0.14.1.tar.gz", hash = "sha256:9bfc95f64af80ccf129c604fb6b8ca66c6f256451e32bc4570f760e4309c9b69", size = 22195, upload-time = "2026-02-20T22:50:38.833Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/42/42d003f4a99ddc901eef2fd41acb3694163835e037fb6dde79ad68a72342/uuid_utils-0.14.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:f6695c0bed8b18a904321e115afe73b34444bc8451d0ce3244a1ec3b84deb0e5", size = 601786, upload-time = "2026-01-20T20:37:09.843Z" }, - { url = "https://files.pythonhosted.org/packages/96/e6/775dfb91f74b18f7207e3201eb31ee666d286579990dc69dd50db2d92813/uuid_utils-0.14.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:4f0a730bbf2d8bb2c11b93e1005e91769f2f533fa1125ed1f00fd15b6fcc732b", size = 303943, upload-time = "2026-01-20T20:37:18.767Z" }, - { url = "https://files.pythonhosted.org/packages/17/82/ea5f5e85560b08a1f30cdc65f75e76494dc7aba9773f679e7eaa27370229/uuid_utils-0.14.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40ce3fd1a4fdedae618fc3edc8faf91897012469169d600133470f49fd699ed3", size = 340467, upload-time = "2026-01-20T20:37:11.794Z" }, - { url = "https://files.pythonhosted.org/packages/ca/33/54b06415767f4569882e99b6470c6c8eeb97422686a6d432464f9967fd91/uuid_utils-0.14.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:09ae4a98416a440e78f7d9543d11b11cae4bab538b7ed94ec5da5221481748f2", size = 346333, upload-time = "2026-01-20T20:37:12.818Z" }, - { url = "https://files.pythonhosted.org/packages/cb/10/a6bce636b8f95e65dc84bf4a58ce8205b8e0a2a300a38cdbc83a3f763d27/uuid_utils-0.14.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:971e8c26b90d8ae727e7f2ac3ee23e265971d448b3672882f2eb44828b2b8c3e", size = 470859, upload-time = "2026-01-20T20:37:01.512Z" }, - { url = "https://files.pythonhosted.org/packages/8a/27/84121c51ea72f013f0e03d0886bcdfa96b31c9b83c98300a7bd5cc4fa191/uuid_utils-0.14.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5cde1fa82804a8f9d2907b7aec2009d440062c63f04abbdb825fce717a5e860", size = 341988, upload-time = "2026-01-20T20:37:22.881Z" }, - { url = "https://files.pythonhosted.org/packages/90/a4/01c1c7af5e6a44f20b40183e8dac37d6ed83e7dc9e8df85370a15959b804/uuid_utils-0.14.0-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c7343862a2359e0bd48a7f3dfb5105877a1728677818bb694d9f40703264a2db", size = 365784, upload-time = "2026-01-20T20:37:10.808Z" }, - { url = "https://files.pythonhosted.org/packages/04/f0/65ee43ec617b8b6b1bf2a5aecd56a069a08cca3d9340c1de86024331bde3/uuid_utils-0.14.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c51e4818fdb08ccec12dc7083a01f49507b4608770a0ab22368001685d59381b", size = 523750, upload-time = "2026-01-20T20:37:06.152Z" }, - { url = "https://files.pythonhosted.org/packages/95/d3/6bf503e3f135a5dfe705a65e6f89f19bccd55ac3fb16cb5d3ec5ba5388b8/uuid_utils-0.14.0-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:181bbcccb6f93d80a8504b5bd47b311a1c31395139596edbc47b154b0685b533", size = 615818, upload-time = "2026-01-20T20:37:21.816Z" }, - { url = "https://files.pythonhosted.org/packages/df/6c/99937dd78d07f73bba831c8dc9469dfe4696539eba2fc269ae1b92752f9e/uuid_utils-0.14.0-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:5c8ae96101c3524ba8dbf762b6f05e9e9d896544786c503a727c5bf5cb9af1a7", size = 580831, upload-time = "2026-01-20T20:37:19.691Z" }, - { url = "https://files.pythonhosted.org/packages/44/fa/bbc9e2c25abd09a293b9b097a0d8fc16acd6a92854f0ec080f1ea7ad8bb3/uuid_utils-0.14.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:00ac3c6edfdaff7e1eed041f4800ae09a3361287be780d7610a90fdcde9befdc", size = 546333, upload-time = "2026-01-20T20:37:03.117Z" }, - { url = "https://files.pythonhosted.org/packages/e7/9b/e5e99b324b1b5f0c62882230455786df0bc66f67eff3b452447e703f45d2/uuid_utils-0.14.0-cp39-abi3-win32.whl", hash = "sha256:ec2fd80adf8e0e6589d40699e6f6df94c93edcc16dd999be0438dd007c77b151", size = 177319, upload-time = "2026-01-20T20:37:04.208Z" }, - { url = "https://files.pythonhosted.org/packages/d3/28/2c7d417ea483b6ff7820c948678fdf2ac98899dc7e43bb15852faa95acaf/uuid_utils-0.14.0-cp39-abi3-win_amd64.whl", hash = "sha256:efe881eb43a5504fad922644cb93d725fd8a6a6d949bd5a4b4b7d1a1587c7fd1", size = 182566, upload-time = "2026-01-20T20:37:16.868Z" }, - { url = "https://files.pythonhosted.org/packages/b8/86/49e4bdda28e962fbd7266684171ee29b3d92019116971d58783e51770745/uuid_utils-0.14.0-cp39-abi3-win_arm64.whl", hash = "sha256:32b372b8fd4ebd44d3a219e093fe981af4afdeda2994ee7db208ab065cfcd080", size = 182809, upload-time = "2026-01-20T20:37:05.139Z" }, + { url = "https://files.pythonhosted.org/packages/43/b7/add4363039a34506a58457d96d4aa2126061df3a143eb4d042aedd6a2e76/uuid_utils-0.14.1-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:93a3b5dc798a54a1feb693f2d1cb4cf08258c32ff05ae4929b5f0a2ca624a4f0", size = 604679, upload-time = "2026-02-20T22:50:27.469Z" }, + { url = "https://files.pythonhosted.org/packages/dd/84/d1d0bef50d9e66d31b2019997c741b42274d53dde2e001b7a83e9511c339/uuid_utils-0.14.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:ccd65a4b8e83af23eae5e56d88034b2fe7264f465d3e830845f10d1591b81741", size = 309346, upload-time = "2026-02-20T22:50:31.857Z" }, + { url = "https://files.pythonhosted.org/packages/ef/ed/b6d6fd52a6636d7c3eddf97d68da50910bf17cd5ac221992506fb56cf12e/uuid_utils-0.14.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b56b0cacd81583834820588378e432b0696186683b813058b707aedc1e16c4b1", size = 344714, upload-time = "2026-02-20T22:50:42.642Z" }, + { url = "https://files.pythonhosted.org/packages/a8/a7/a19a1719fb626fe0b31882db36056d44fe904dc0cf15b06fdf56b2679cf7/uuid_utils-0.14.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb3cf14de789097320a3c56bfdfdd51b1225d11d67298afbedee7e84e3837c96", size = 350914, upload-time = "2026-02-20T22:50:36.487Z" }, + { url = "https://files.pythonhosted.org/packages/1d/fc/f6690e667fdc3bb1a73f57951f97497771c56fe23e3d302d7404be394d4f/uuid_utils-0.14.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60e0854a90d67f4b0cc6e54773deb8be618f4c9bad98d3326f081423b5d14fae", size = 482609, upload-time = "2026-02-20T22:50:37.511Z" }, + { url = "https://files.pythonhosted.org/packages/54/6e/dcd3fa031320921a12ec7b4672dea3bd1dd90ddffa363a91831ba834d559/uuid_utils-0.14.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce6743ba194de3910b5feb1a62590cd2587e33a73ab6af8a01b642ceb5055862", size = 345699, upload-time = "2026-02-20T22:50:46.87Z" }, + { url = "https://files.pythonhosted.org/packages/04/28/e5220204b58b44ac0047226a9d016a113fde039280cc8732d9e6da43b39f/uuid_utils-0.14.1-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:043fb58fde6cf1620a6c066382f04f87a8e74feb0f95a585e4ed46f5d44af57b", size = 372205, upload-time = "2026-02-20T22:50:28.438Z" }, + { url = "https://files.pythonhosted.org/packages/c7/d9/3d2eb98af94b8dfffc82b6a33b4dfc87b0a5de2c68a28f6dde0db1f8681b/uuid_utils-0.14.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c915d53f22945e55fe0d3d3b0b87fd965a57f5fd15666fd92d6593a73b1dd297", size = 521836, upload-time = "2026-02-20T22:50:23.057Z" }, + { url = "https://files.pythonhosted.org/packages/a8/15/0eb106cc6fe182f7577bc0ab6e2f0a40be247f35c5e297dbf7bbc460bd02/uuid_utils-0.14.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:0972488e3f9b449e83f006ead5a0e0a33ad4a13e4462e865b7c286ab7d7566a3", size = 625260, upload-time = "2026-02-20T22:50:25.949Z" }, + { url = "https://files.pythonhosted.org/packages/3c/17/f539507091334b109e7496830af2f093d9fc8082411eafd3ece58af1f8ba/uuid_utils-0.14.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:1c238812ae0c8ffe77d8d447a32c6dfd058ea4631246b08b5a71df586ff08531", size = 587824, upload-time = "2026-02-20T22:50:35.225Z" }, + { url = "https://files.pythonhosted.org/packages/2e/c2/d37a7b2e41f153519367d4db01f0526e0d4b06f1a4a87f1c5dfca5d70a8b/uuid_utils-0.14.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:bec8f8ef627af86abf8298e7ec50926627e29b34fa907fcfbedb45aaa72bca43", size = 551407, upload-time = "2026-02-20T22:50:44.915Z" }, + { url = "https://files.pythonhosted.org/packages/65/36/2d24b2cbe78547c6532da33fb8613debd3126eccc33a6374ab788f5e46e9/uuid_utils-0.14.1-cp39-abi3-win32.whl", hash = "sha256:b54d6aa6252d96bac1fdbc80d26ba71bad9f220b2724d692ad2f2310c22ef523", size = 183476, upload-time = "2026-02-20T22:50:32.745Z" }, + { url = "https://files.pythonhosted.org/packages/83/92/2d7e90df8b1a69ec4cff33243ce02b7a62f926ef9e2f0eca5a026889cd73/uuid_utils-0.14.1-cp39-abi3-win_amd64.whl", hash = "sha256:fc27638c2ce267a0ce3e06828aff786f91367f093c80625ee21dad0208e0f5ba", size = 187147, upload-time = "2026-02-20T22:50:45.807Z" }, + { url = "https://files.pythonhosted.org/packages/d9/26/529f4beee17e5248e37e0bc17a2761d34c0fa3b1e5729c88adb2065bae6e/uuid_utils-0.14.1-cp39-abi3-win_arm64.whl", hash = "sha256:b04cb49b42afbc4ff8dbc60cf054930afc479d6f4dd7f1ec3bbe5dbfdde06b7a", size = 188132, upload-time = "2026-02-20T22:50:41.718Z" }, ] [[package]] name = "virtualenv" -version = "20.38.0" +version = "21.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, { name = "filelock" }, { name = "platformdirs" }, + { name = "python-discovery" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d2/03/a94d404ca09a89a7301a7008467aed525d4cdeb9186d262154dd23208709/virtualenv-20.38.0.tar.gz", hash = "sha256:94f39b1abaea5185bf7ea5a46702b56f1d0c9aa2f41a6c2b8b0af4ddc74c10a7", size = 5864558, upload-time = "2026-02-19T07:48:02.385Z" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/92/58199fe10049f9703c2666e809c4f686c54ef0a68b0f6afccf518c0b1eb9/virtualenv-21.2.0.tar.gz", hash = "sha256:1720dc3a62ef5b443092e3f499228599045d7fea4c79199770499df8becf9098", size = 5840618, upload-time = "2026-03-09T17:24:38.013Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/d7/394801755d4c8684b655d35c665aea7836ec68320304f62ab3c94395b442/virtualenv-20.38.0-py3-none-any.whl", hash = "sha256:d6e78e5889de3a4742df2d3d44e779366325a90cf356f15621fddace82431794", size = 5837778, upload-time = "2026-02-19T07:47:59.778Z" }, + { url = "https://files.pythonhosted.org/packages/c6/59/7d02447a55b2e55755011a647479041bc92a82e143f96a8195cb33bd0a1c/virtualenv-21.2.0-py3-none-any.whl", hash = "sha256:1bd755b504931164a5a496d217c014d098426cddc79363ad66ac78125f9d908f", size = 5825084, upload-time = "2026-03-09T17:24:35.378Z" }, ] [[package]]