diff --git a/.gitignore b/.gitignore index 5e7b6a5..58df49e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# Ruff +.ruff_cache/ + # Images *.svg *.png @@ -165,4 +168,3 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ - diff --git a/pyproject.toml b/pyproject.toml index c07ae1e..62d5977 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,38 @@ dependencies = [ "numpy>=2.3.3", "pandas>=2.3.2", "pip>=25.2", + "ruff>=0.14.0", "scikit-learn>=1.7.2", "scipy>=1.16.2", ] + +[tool.ruff] +target-version = "py313" +line-length = 70 +indent-width = 4 +exclude = [ + ".git/", + "venv/", + ".venv/", + "vscode/", + "__pycache__/", + ".ruff_cache/", +] + + +[tool.ruff.lint] +dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" + +select = ["E", "F", "N", "I", "C90", "T", "S"] +ignore = ["N803", "T201"] + +fixable = ["ALL"] +unfixable = [] + + +[tool.ruff.format] +quote-style = "double" +indent-style = "space" +skip-magic-trailing-comma = false +line-ending = "auto" diff --git a/src/Adaline/adaline.ipynb b/src/Adaline/adaline.ipynb index 55075e0..b2b8090 100644 --- a/src/Adaline/adaline.ipynb +++ b/src/Adaline/adaline.ipynb @@ -23,9 +23,9 @@ "metadata": {}, "outputs": [], "source": [ + "import matplotlib.pyplot as plt\n", "import numpy as np\n", - "import pandas as pd\n", - "import matplotlib.pyplot as plt" + "import pandas as pd" ] }, { diff --git a/src/Graphics/plots.ipynb b/src/Graphics/plots.ipynb index 731c734..3bc26db 100644 --- a/src/Graphics/plots.ipynb +++ b/src/Graphics/plots.ipynb @@ -54,7 +54,6 @@ "metadata": {}, "outputs": [], "source": [ - "from random import sample\n", "\n", "hours = [\n", " 2.1,\n", @@ -324,7 +323,7 @@ } ], "source": [ - "from math import sin, e\n", + "from math import e, sin\n", "\n", "\n", "def func(x):\n", diff --git a/src/Perceptron/perceptron.ipynb b/src/Perceptron/perceptron.ipynb index ed87e6e..174ca8e 100644 --- a/src/Perceptron/perceptron.ipynb +++ b/src/Perceptron/perceptron.ipynb @@ -31,9 +31,9 @@ "metadata": {}, "outputs": [], "source": [ + "import matplotlib.pyplot as plt\n", "import numpy as np\n", - "import pandas as pd\n", - "import matplotlib.pyplot as plt" + "import pandas as pd" ] }, { diff --git a/uv.lock b/uv.lock index 45a23be..ac553e9 100644 --- a/uv.lock +++ b/uv.lock @@ -877,6 +877,37 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7a/f0/8282d9641415e9e33df173516226b404d367a0fc55e1a60424a152913abc/mistune-3.1.4-py3-none-any.whl", hash = "sha256:93691da911e5d9d2e23bc54472892aff676df27a75274962ff9edc210364266d", size = 53481, upload-time = "2025-08-29T07:20:42.218Z" }, ] +[[package]] +name = "ml-lab" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "isort" }, + { name = "jupyter" }, + { name = "matplotlib" }, + { name = "notebook" }, + { name = "numpy" }, + { name = "pandas" }, + { name = "pip" }, + { name = "ruff" }, + { name = "scikit-learn" }, + { name = "scipy" }, +] + +[package.metadata] +requires-dist = [ + { name = "isort", specifier = ">=6.0.1" }, + { name = "jupyter", specifier = ">=1.1.1" }, + { name = "matplotlib", specifier = ">=3.10.6" }, + { name = "notebook", specifier = ">=7.4.5" }, + { name = "numpy", specifier = ">=2.3.3" }, + { name = "pandas", specifier = ">=2.3.2" }, + { name = "pip", specifier = ">=25.2" }, + { name = "ruff", specifier = ">=0.14.0" }, + { name = "scikit-learn", specifier = ">=1.7.2" }, + { name = "scipy", specifier = ">=1.16.2" }, +] + [[package]] name = "nbclient" version = "0.10.2" @@ -1116,35 +1147,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654, upload-time = "2025-08-26T14:32:02.735Z" }, ] -[[package]] -name = "project-name" -version = "0.1.0" -source = { virtual = "." } -dependencies = [ - { name = "isort" }, - { name = "jupyter" }, - { name = "matplotlib" }, - { name = "notebook" }, - { name = "numpy" }, - { name = "pandas" }, - { name = "pip" }, - { name = "scikit-learn" }, - { name = "scipy" }, -] - -[package.metadata] -requires-dist = [ - { name = "isort", specifier = ">=6.0.1" }, - { name = "jupyter", specifier = ">=1.1.1" }, - { name = "matplotlib", specifier = ">=3.10.6" }, - { name = "notebook", specifier = ">=7.4.5" }, - { name = "numpy", specifier = ">=2.3.3" }, - { name = "pandas", specifier = ">=2.3.2" }, - { name = "pip", specifier = ">=25.2" }, - { name = "scikit-learn", specifier = ">=1.7.2" }, - { name = "scipy", specifier = ">=1.16.2" }, -] - [[package]] name = "prometheus-client" version = "0.22.1" @@ -1424,6 +1426,32 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, ] +[[package]] +name = "ruff" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/41/b9/9bd84453ed6dd04688de9b3f3a4146a1698e8faae2ceeccce4e14c67ae17/ruff-0.14.0.tar.gz", hash = "sha256:62ec8969b7510f77945df916de15da55311fade8d6050995ff7f680afe582c57", size = 5452071, upload-time = "2025-10-07T18:21:55.763Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/4e/79d463a5f80654e93fa653ebfb98e0becc3f0e7cf6219c9ddedf1e197072/ruff-0.14.0-py3-none-linux_armv6l.whl", hash = "sha256:58e15bffa7054299becf4bab8a1187062c6f8cafbe9f6e39e0d5aface455d6b3", size = 12494532, upload-time = "2025-10-07T18:21:00.373Z" }, + { url = "https://files.pythonhosted.org/packages/ee/40/e2392f445ed8e02aa6105d49db4bfff01957379064c30f4811c3bf38aece/ruff-0.14.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:838d1b065f4df676b7c9957992f2304e41ead7a50a568185efd404297d5701e8", size = 13160768, upload-time = "2025-10-07T18:21:04.73Z" }, + { url = "https://files.pythonhosted.org/packages/75/da/2a656ea7c6b9bd14c7209918268dd40e1e6cea65f4bb9880eaaa43b055cd/ruff-0.14.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:703799d059ba50f745605b04638fa7e9682cc3da084b2092feee63500ff3d9b8", size = 12363376, upload-time = "2025-10-07T18:21:07.833Z" }, + { url = "https://files.pythonhosted.org/packages/42/e2/1ffef5a1875add82416ff388fcb7ea8b22a53be67a638487937aea81af27/ruff-0.14.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ba9a8925e90f861502f7d974cc60e18ca29c72bb0ee8bfeabb6ade35a3abde7", size = 12608055, upload-time = "2025-10-07T18:21:10.72Z" }, + { url = "https://files.pythonhosted.org/packages/4a/32/986725199d7cee510d9f1dfdf95bf1efc5fa9dd714d0d85c1fb1f6be3bc3/ruff-0.14.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e41f785498bd200ffc276eb9e1570c019c1d907b07cfb081092c8ad51975bbe7", size = 12318544, upload-time = "2025-10-07T18:21:13.741Z" }, + { url = "https://files.pythonhosted.org/packages/9a/ed/4969cefd53315164c94eaf4da7cfba1f267dc275b0abdd593d11c90829a3/ruff-0.14.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30a58c087aef4584c193aebf2700f0fbcfc1e77b89c7385e3139956fa90434e2", size = 14001280, upload-time = "2025-10-07T18:21:16.411Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ad/96c1fc9f8854c37681c9613d825925c7f24ca1acfc62a4eb3896b50bacd2/ruff-0.14.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:f8d07350bc7af0a5ce8812b7d5c1a7293cf02476752f23fdfc500d24b79b783c", size = 15027286, upload-time = "2025-10-07T18:21:19.577Z" }, + { url = "https://files.pythonhosted.org/packages/b3/00/1426978f97df4fe331074baf69615f579dc4e7c37bb4c6f57c2aad80c87f/ruff-0.14.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eec3bbbf3a7d5482b5c1f42d5fc972774d71d107d447919fca620b0be3e3b75e", size = 14451506, upload-time = "2025-10-07T18:21:22.779Z" }, + { url = "https://files.pythonhosted.org/packages/58/d5/9c1cea6e493c0cf0647674cca26b579ea9d2a213b74b5c195fbeb9678e15/ruff-0.14.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16b68e183a0e28e5c176d51004aaa40559e8f90065a10a559176713fcf435206", size = 13437384, upload-time = "2025-10-07T18:21:25.758Z" }, + { url = "https://files.pythonhosted.org/packages/29/b4/4cd6a4331e999fc05d9d77729c95503f99eae3ba1160469f2b64866964e3/ruff-0.14.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb732d17db2e945cfcbbc52af0143eda1da36ca8ae25083dd4f66f1542fdf82e", size = 13447976, upload-time = "2025-10-07T18:21:28.83Z" }, + { url = "https://files.pythonhosted.org/packages/3b/c0/ac42f546d07e4f49f62332576cb845d45c67cf5610d1851254e341d563b6/ruff-0.14.0-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:c958f66ab884b7873e72df38dcabee03d556a8f2ee1b8538ee1c2bbd619883dd", size = 13682850, upload-time = "2025-10-07T18:21:31.842Z" }, + { url = "https://files.pythonhosted.org/packages/5f/c4/4b0c9bcadd45b4c29fe1af9c5d1dc0ca87b4021665dfbe1c4688d407aa20/ruff-0.14.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:7eb0499a2e01f6e0c285afc5bac43ab380cbfc17cd43a2e1dd10ec97d6f2c42d", size = 12449825, upload-time = "2025-10-07T18:21:35.074Z" }, + { url = "https://files.pythonhosted.org/packages/4b/a8/e2e76288e6c16540fa820d148d83e55f15e994d852485f221b9524514730/ruff-0.14.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:4c63b2d99fafa05efca0ab198fd48fa6030d57e4423df3f18e03aa62518c565f", size = 12272599, upload-time = "2025-10-07T18:21:38.08Z" }, + { url = "https://files.pythonhosted.org/packages/18/14/e2815d8eff847391af632b22422b8207704222ff575dec8d044f9ab779b2/ruff-0.14.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:668fce701b7a222f3f5327f86909db2bbe99c30877c8001ff934c5413812ac02", size = 13193828, upload-time = "2025-10-07T18:21:41.216Z" }, + { url = "https://files.pythonhosted.org/packages/44/c6/61ccc2987cf0aecc588ff8f3212dea64840770e60d78f5606cd7dc34de32/ruff-0.14.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:a86bf575e05cb68dcb34e4c7dfe1064d44d3f0c04bbc0491949092192b515296", size = 13628617, upload-time = "2025-10-07T18:21:44.04Z" }, + { url = "https://files.pythonhosted.org/packages/73/e6/03b882225a1b0627e75339b420883dc3c90707a8917d2284abef7a58d317/ruff-0.14.0-py3-none-win32.whl", hash = "sha256:7450a243d7125d1c032cb4b93d9625dea46c8c42b4f06c6b709baac168e10543", size = 12367872, upload-time = "2025-10-07T18:21:46.67Z" }, + { url = "https://files.pythonhosted.org/packages/41/77/56cf9cf01ea0bfcc662de72540812e5ba8e9563f33ef3d37ab2174892c47/ruff-0.14.0-py3-none-win_amd64.whl", hash = "sha256:ea95da28cd874c4d9c922b39381cbd69cb7e7b49c21b8152b014bd4f52acddc2", size = 13464628, upload-time = "2025-10-07T18:21:50.318Z" }, + { url = "https://files.pythonhosted.org/packages/c6/2a/65880dfd0e13f7f13a775998f34703674a4554906167dce02daf7865b954/ruff-0.14.0-py3-none-win_arm64.whl", hash = "sha256:f42c9495f5c13ff841b1da4cb3c2a42075409592825dada7c5885c2c844ac730", size = 12565142, upload-time = "2025-10-07T18:21:53.577Z" }, +] + [[package]] name = "scikit-learn" version = "1.7.2"