matplotlib-multicolored-line 0.3.0__tar.gz → 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (16) hide show
  1. {matplotlib_multicolored_line-0.3.0/src/matplotlib_multicolored_line.egg-info → matplotlib_multicolored_line-1.0.0}/PKG-INFO +9 -43
  2. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/README.md +4 -37
  3. matplotlib_multicolored_line-1.0.0/pyproject.toml +63 -0
  4. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/src/matplotlib_multicolored_line/_main.py +12 -8
  5. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0/src/matplotlib_multicolored_line.egg-info}/PKG-INFO +9 -43
  6. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/src/matplotlib_multicolored_line.egg-info/SOURCES.txt +0 -1
  7. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/tests/test_main.py +2 -0
  8. matplotlib_multicolored_line-0.3.0/pyproject.toml +0 -161
  9. matplotlib_multicolored_line-0.3.0/setup.py +0 -9
  10. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/LICENSE +0 -0
  11. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/setup.cfg +0 -0
  12. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/src/matplotlib_multicolored_line/__init__.py +0 -0
  13. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/src/matplotlib_multicolored_line/py.typed +0 -0
  14. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/src/matplotlib_multicolored_line.egg-info/dependency_links.txt +0 -0
  15. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/src/matplotlib_multicolored_line.egg-info/requires.txt +0 -0
  16. {matplotlib_multicolored_line-0.3.0 → matplotlib_multicolored_line-1.0.0}/src/matplotlib_multicolored_line.egg-info/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matplotlib-multicolored-line
3
- Version: 0.3.0
3
+ Version: 1.0.0
4
4
  Summary: Plot multicolored lines in Matplotlib
5
- Author-email: 34j <34j.95a2p@simplelogin.com>
5
+ Author: 34j
6
6
  License-Expression: CC0-1.0
7
7
  Project-URL: Bug Tracker, https://github.com/34j/matplotlib-multicolored-line/issues
8
8
  Project-URL: Changelog, https://github.com/34j/matplotlib-multicolored-line/blob/main/CHANGELOG.md
@@ -12,13 +12,12 @@ Classifier: Development Status :: 2 - Pre-Alpha
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: Natural Language :: English
14
14
  Classifier: Operating System :: OS Independent
15
- Classifier: Programming Language :: Python :: 3.9
16
- Classifier: Programming Language :: Python :: 3.10
17
- Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3 :: Only
18
16
  Classifier: Programming Language :: Python :: 3.12
19
17
  Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
20
19
  Classifier: Topic :: Software Development :: Libraries
21
- Requires-Python: >=3.9
20
+ Requires-Python: >=3.12
22
21
  Description-Content-Type: text/markdown
23
22
  License-File: LICENSE
24
23
  Requires-Dist: matplotlib>=3.9.4
@@ -33,19 +32,19 @@ Dynamic: license-file
33
32
  <a href="https://matplotlib-multicolored-line.readthedocs.io">
34
33
  <img src="https://img.shields.io/readthedocs/matplotlib-multicolored-line.svg?logo=read-the-docs&logoColor=fff&style=flat-square" alt="Documentation Status">
35
34
  </a>
35
+ </p>
36
+ <p align="center">
36
37
  <a href="https://codecov.io/gh/34j/matplotlib-multicolored-line">
37
38
  <img src="https://img.shields.io/codecov/c/github/34j/matplotlib-multicolored-line.svg?logo=codecov&logoColor=fff&style=flat-square" alt="Test coverage percentage">
38
39
  </a>
39
- </p>
40
- <p align="center">
41
40
  <a href="https://github.com/astral-sh/uv">
42
41
  <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" alt="uv">
43
42
  </a>
44
43
  <a href="https://github.com/astral-sh/ruff">
45
44
  <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
46
45
  </a>
47
- <a href="https://github.com/pre-commit/pre-commit">
48
- <img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat-square" alt="pre-commit">
46
+ <a href="https://github.com/j178/prek">
47
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json" alt="prek">
49
48
  </a>
50
49
  </p>
51
50
  <p align="center">
@@ -104,36 +103,3 @@ fig.colorbar(lc)
104
103
  ```
105
104
 
106
105
  ![Result 2](https://raw.githubusercontent.com/34j/matplotlib-multicolored-line/main/example_multiple.jpg)
107
-
108
- ## Contributors ✨
109
-
110
- Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
111
-
112
- <!-- prettier-ignore-start -->
113
- <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
114
- <!-- prettier-ignore-start -->
115
- <!-- markdownlint-disable -->
116
- <table>
117
- <tbody>
118
- <tr>
119
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/34j"><img src="https://avatars.githubusercontent.com/u/55338215?v=4?s=80" width="80px;" alt="34j"/><br /><sub><b>34j</b></sub></a><br /><a href="https://github.com/34j/matplotlib-multicolored-line/commits?author=34j" title="Code">💻</a> <a href="#ideas-34j" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/34j/matplotlib-multicolored-line/commits?author=34j" title="Documentation">📖</a></td>
120
- </tr>
121
- </tbody>
122
- </table>
123
-
124
- <!-- markdownlint-restore -->
125
- <!-- prettier-ignore-end -->
126
-
127
- <!-- ALL-CONTRIBUTORS-LIST:END -->
128
- <!-- prettier-ignore-end -->
129
-
130
- This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
131
-
132
- ## Credits
133
-
134
- [![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/copier-org/copier)
135
-
136
- This package was created with
137
- [Copier](https://copier.readthedocs.io/) and the
138
- [browniebroke/pypackage-template](https://github.com/browniebroke/pypackage-template)
139
- project template.
@@ -7,19 +7,19 @@
7
7
  <a href="https://matplotlib-multicolored-line.readthedocs.io">
8
8
  <img src="https://img.shields.io/readthedocs/matplotlib-multicolored-line.svg?logo=read-the-docs&logoColor=fff&style=flat-square" alt="Documentation Status">
9
9
  </a>
10
+ </p>
11
+ <p align="center">
10
12
  <a href="https://codecov.io/gh/34j/matplotlib-multicolored-line">
11
13
  <img src="https://img.shields.io/codecov/c/github/34j/matplotlib-multicolored-line.svg?logo=codecov&logoColor=fff&style=flat-square" alt="Test coverage percentage">
12
14
  </a>
13
- </p>
14
- <p align="center">
15
15
  <a href="https://github.com/astral-sh/uv">
16
16
  <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" alt="uv">
17
17
  </a>
18
18
  <a href="https://github.com/astral-sh/ruff">
19
19
  <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
20
20
  </a>
21
- <a href="https://github.com/pre-commit/pre-commit">
22
- <img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat-square" alt="pre-commit">
21
+ <a href="https://github.com/j178/prek">
22
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json" alt="prek">
23
23
  </a>
24
24
  </p>
25
25
  <p align="center">
@@ -78,36 +78,3 @@ fig.colorbar(lc)
78
78
  ```
79
79
 
80
80
  ![Result 2](https://raw.githubusercontent.com/34j/matplotlib-multicolored-line/main/example_multiple.jpg)
81
-
82
- ## Contributors ✨
83
-
84
- Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
85
-
86
- <!-- prettier-ignore-start -->
87
- <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
88
- <!-- prettier-ignore-start -->
89
- <!-- markdownlint-disable -->
90
- <table>
91
- <tbody>
92
- <tr>
93
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/34j"><img src="https://avatars.githubusercontent.com/u/55338215?v=4?s=80" width="80px;" alt="34j"/><br /><sub><b>34j</b></sub></a><br /><a href="https://github.com/34j/matplotlib-multicolored-line/commits?author=34j" title="Code">💻</a> <a href="#ideas-34j" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/34j/matplotlib-multicolored-line/commits?author=34j" title="Documentation">📖</a></td>
94
- </tr>
95
- </tbody>
96
- </table>
97
-
98
- <!-- markdownlint-restore -->
99
- <!-- prettier-ignore-end -->
100
-
101
- <!-- ALL-CONTRIBUTORS-LIST:END -->
102
- <!-- prettier-ignore-end -->
103
-
104
- This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
105
-
106
- ## Credits
107
-
108
- [![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/copier-org/copier)
109
-
110
- This package was created with
111
- [Copier](https://copier.readthedocs.io/) and the
112
- [browniebroke/pypackage-template](https://github.com/browniebroke/pypackage-template)
113
- project template.
@@ -0,0 +1,63 @@
1
+ [build-system]
2
+ build-backend = "setuptools.build_meta"
3
+ requires = [ "setuptools>=77.0.3" ]
4
+
5
+ [project]
6
+ name = "matplotlib-multicolored-line"
7
+ version = "1.0.0"
8
+ description = "Plot multicolored lines in Matplotlib"
9
+ readme = "README.md"
10
+ license = "CC0-1.0"
11
+ authors = [
12
+ { name = "34j" },
13
+ ]
14
+ requires-python = ">=3.12"
15
+ classifiers = [
16
+ "Development Status :: 2 - Pre-Alpha",
17
+ "Intended Audience :: Developers",
18
+ "Natural Language :: English",
19
+ "Operating System :: OS Independent",
20
+ "Programming Language :: Python :: 3 :: Only",
21
+ "Programming Language :: Python :: 3.12",
22
+ "Programming Language :: Python :: 3.13",
23
+ "Programming Language :: Python :: 3.14",
24
+ "Topic :: Software Development :: Libraries",
25
+ ]
26
+ dependencies = [
27
+ "matplotlib>=3.9.4",
28
+ ]
29
+ urls."Bug Tracker" = "https://github.com/34j/matplotlib-multicolored-line/issues"
30
+ urls.Changelog = "https://github.com/34j/matplotlib-multicolored-line/blob/main/CHANGELOG.md"
31
+ urls.documentation = "https://matplotlib-multicolored-line.readthedocs.io"
32
+ urls.repository = "https://github.com/34j/matplotlib-multicolored-line"
33
+
34
+ [dependency-groups]
35
+ dev = [
36
+ "coverage",
37
+ "packaging-34j[test]",
38
+ "pytest",
39
+ "pytest-cov",
40
+ "ty",
41
+ ]
42
+ docs = [
43
+ "packaging-34j[docs]",
44
+ ]
45
+
46
+ [tool.ruff]
47
+ extend = ".venv/ruff.toml"
48
+ lint.ignore = [
49
+ "A001", # Built-in name shadowed by Sphinx configuration.
50
+ "C901", # The plotting API keeps its input-shape branches together.
51
+ "D401", # Preserve the existing Sphinx callback docstring.
52
+ "DOC501", # Existing public API documents its raised ValueError behavior.
53
+ "NPY002", # Preserve NumPy's global random helpers in visual test fixtures.
54
+ "PLR2004", # Shape dimensions are intentionally compared with literals.
55
+ "PT006", # Keep the existing readable parametrization declaration.
56
+ "TC002", # Runtime imports are required by Matplotlib annotations.
57
+ ]
58
+
59
+ [tool.pyproject-fmt]
60
+ max_supported_python = "3.14"
61
+
62
+ [tool.ty]
63
+ terminal.error-on-warning = true
@@ -33,10 +33,11 @@ def colored_line(
33
33
  of shape (N,) or (N, m).
34
34
  c : array-like or array-like of color, optional
35
35
  The line values. Possible values:
36
- - array-like of numbers of shape (N,) or (N, m) to be mapped
37
- to colors using cmap and norm.
38
- - array-like of numbers of shape (N, m, 3) or (N, m, 4),
39
- where the last dimension is RGB or RGBA.
36
+
37
+ - array-like of numbers of shape (N,) or (N, m), to be mapped to
38
+ colors using cmap and norm.
39
+ - array-like of numbers of shape (N, m, 3) or (N, m, 4), where the
40
+ last dimension is RGB or RGBA.
40
41
  - array-like of colors of shape (N,) or (N, m).
41
42
  ax : matplotlib.axes.Axes, optional
42
43
  The axes to plot on. If not provided, the current axes will be used.
@@ -67,15 +68,18 @@ def colored_line(
67
68
 
68
69
  # parse args
69
70
  if len(args) == 1:
70
- y = args[0]
71
+ y = np.asarray(args[0])
71
72
  x = np.arange(len(y))
72
73
  elif len(args) == 2:
73
- x, y = args
74
+ x = np.asarray(args[0])
75
+ y = np.asarray(args[1])
74
76
  else:
75
77
  raise ValueError("Invalid number of arguments. Provide either x and y or just y.")
76
78
 
77
79
  # ensure x, y, c are 1D or 2D arrays
78
- x, y, c = map(np.asarray, (x, y, c))
80
+ c = np.asarray(c)
81
+ start = np.asarray(start)
82
+ end = np.asarray(end)
79
83
  if x.ndim == 1:
80
84
  x = x[:, None]
81
85
  elif x.ndim == 2:
@@ -117,7 +121,7 @@ def colored_line(
117
121
  segments = np.stack((xy_start, xy, xy_end), axis=-2)
118
122
  segments = np.reshape(segments, (-1, segments.shape[-2], segments.shape[-1]))
119
123
 
120
- lc = LineCollection(segments, **kwargs)
124
+ lc = LineCollection(segments.tolist(), **kwargs)
121
125
 
122
126
  # Plot the line collection to the axes
123
127
  ax = ax or plt.gca()
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matplotlib-multicolored-line
3
- Version: 0.3.0
3
+ Version: 1.0.0
4
4
  Summary: Plot multicolored lines in Matplotlib
5
- Author-email: 34j <34j.95a2p@simplelogin.com>
5
+ Author: 34j
6
6
  License-Expression: CC0-1.0
7
7
  Project-URL: Bug Tracker, https://github.com/34j/matplotlib-multicolored-line/issues
8
8
  Project-URL: Changelog, https://github.com/34j/matplotlib-multicolored-line/blob/main/CHANGELOG.md
@@ -12,13 +12,12 @@ Classifier: Development Status :: 2 - Pre-Alpha
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: Natural Language :: English
14
14
  Classifier: Operating System :: OS Independent
15
- Classifier: Programming Language :: Python :: 3.9
16
- Classifier: Programming Language :: Python :: 3.10
17
- Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3 :: Only
18
16
  Classifier: Programming Language :: Python :: 3.12
19
17
  Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
20
19
  Classifier: Topic :: Software Development :: Libraries
21
- Requires-Python: >=3.9
20
+ Requires-Python: >=3.12
22
21
  Description-Content-Type: text/markdown
23
22
  License-File: LICENSE
24
23
  Requires-Dist: matplotlib>=3.9.4
@@ -33,19 +32,19 @@ Dynamic: license-file
33
32
  <a href="https://matplotlib-multicolored-line.readthedocs.io">
34
33
  <img src="https://img.shields.io/readthedocs/matplotlib-multicolored-line.svg?logo=read-the-docs&logoColor=fff&style=flat-square" alt="Documentation Status">
35
34
  </a>
35
+ </p>
36
+ <p align="center">
36
37
  <a href="https://codecov.io/gh/34j/matplotlib-multicolored-line">
37
38
  <img src="https://img.shields.io/codecov/c/github/34j/matplotlib-multicolored-line.svg?logo=codecov&logoColor=fff&style=flat-square" alt="Test coverage percentage">
38
39
  </a>
39
- </p>
40
- <p align="center">
41
40
  <a href="https://github.com/astral-sh/uv">
42
41
  <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" alt="uv">
43
42
  </a>
44
43
  <a href="https://github.com/astral-sh/ruff">
45
44
  <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
46
45
  </a>
47
- <a href="https://github.com/pre-commit/pre-commit">
48
- <img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat-square" alt="pre-commit">
46
+ <a href="https://github.com/j178/prek">
47
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json" alt="prek">
49
48
  </a>
50
49
  </p>
51
50
  <p align="center">
@@ -104,36 +103,3 @@ fig.colorbar(lc)
104
103
  ```
105
104
 
106
105
  ![Result 2](https://raw.githubusercontent.com/34j/matplotlib-multicolored-line/main/example_multiple.jpg)
107
-
108
- ## Contributors ✨
109
-
110
- Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
111
-
112
- <!-- prettier-ignore-start -->
113
- <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
114
- <!-- prettier-ignore-start -->
115
- <!-- markdownlint-disable -->
116
- <table>
117
- <tbody>
118
- <tr>
119
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/34j"><img src="https://avatars.githubusercontent.com/u/55338215?v=4?s=80" width="80px;" alt="34j"/><br /><sub><b>34j</b></sub></a><br /><a href="https://github.com/34j/matplotlib-multicolored-line/commits?author=34j" title="Code">💻</a> <a href="#ideas-34j" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/34j/matplotlib-multicolored-line/commits?author=34j" title="Documentation">📖</a></td>
120
- </tr>
121
- </tbody>
122
- </table>
123
-
124
- <!-- markdownlint-restore -->
125
- <!-- prettier-ignore-end -->
126
-
127
- <!-- ALL-CONTRIBUTORS-LIST:END -->
128
- <!-- prettier-ignore-end -->
129
-
130
- This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
131
-
132
- ## Credits
133
-
134
- [![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/copier-org/copier)
135
-
136
- This package was created with
137
- [Copier](https://copier.readthedocs.io/) and the
138
- [browniebroke/pypackage-template](https://github.com/browniebroke/pypackage-template)
139
- project template.
@@ -1,7 +1,6 @@
1
1
  LICENSE
2
2
  README.md
3
3
  pyproject.toml
4
- setup.py
5
4
  src/matplotlib_multicolored_line/__init__.py
6
5
  src/matplotlib_multicolored_line/_main.py
7
6
  src/matplotlib_multicolored_line/py.typed
@@ -8,6 +8,8 @@ from numpy.typing import ArrayLike
8
8
 
9
9
  from matplotlib_multicolored_line import colored_line
10
10
 
11
+ plt.switch_backend("Agg")
12
+
11
13
  CACHE_PATH = Path(__file__).parent / ".cache"
12
14
 
13
15
 
@@ -1,161 +0,0 @@
1
- [build-system]
2
- build-backend = "setuptools.build_meta"
3
- requires = [ "setuptools" ]
4
-
5
- [project]
6
- name = "matplotlib-multicolored-line"
7
- version = "0.3.0"
8
- description = "Plot multicolored lines in Matplotlib"
9
- readme = "README.md"
10
- license = "CC0-1.0"
11
- authors = [
12
- { name = "34j", email = "34j.95a2p@simplelogin.com" },
13
- ]
14
- requires-python = ">=3.9"
15
- classifiers = [
16
- "Development Status :: 2 - Pre-Alpha",
17
- "Intended Audience :: Developers",
18
- "Natural Language :: English",
19
- "Operating System :: OS Independent",
20
- "Programming Language :: Python :: 3.9",
21
- "Programming Language :: Python :: 3.10",
22
- "Programming Language :: Python :: 3.11",
23
- "Programming Language :: Python :: 3.12",
24
- "Programming Language :: Python :: 3.13",
25
- "Topic :: Software Development :: Libraries",
26
- ]
27
-
28
- dependencies = [
29
- "matplotlib>=3.9.4",
30
- ]
31
- urls."Bug Tracker" = "https://github.com/34j/matplotlib-multicolored-line/issues"
32
- urls.Changelog = "https://github.com/34j/matplotlib-multicolored-line/blob/main/CHANGELOG.md"
33
- urls.documentation = "https://matplotlib-multicolored-line.readthedocs.io"
34
- urls.repository = "https://github.com/34j/matplotlib-multicolored-line"
35
-
36
- [dependency-groups]
37
- dev = [
38
- "pytest>=8,<9",
39
- "pytest-cov>=6,<7",
40
- ]
41
- docs = [
42
- "furo>=2023.5.20; python_version>='3.11'",
43
- "myst-parser>=0.16; python_version>='3.11'",
44
- "sphinx>=4; python_version>='3.11'",
45
- "sphinx-autobuild>=2024,<2025; python_version>='3.11'",
46
- ]
47
-
48
- [tool.ruff]
49
- line-length = 100
50
- lint.select = [
51
- "B", # flake8-bugbear
52
- "D", # flake8-docstrings
53
- "C4", # flake8-comprehensions
54
- "S", # flake8-bandit
55
- "F", # pyflake
56
- "E", # pycodestyle
57
- "W", # pycodestyle
58
- "UP", # pyupgrade
59
- "I", # isort
60
- "RUF", # ruff specific
61
- ]
62
- lint.ignore = [
63
- "D203", # 1 blank line required before class docstring
64
- "D212", # Multi-line docstring summary should start at the first line
65
- "D100", # Missing docstring in public module
66
- "D104", # Missing docstring in public package
67
- "D107", # Missing docstring in `__init__`
68
- "D401", # First line of docstring should be in imperative mood
69
- ]
70
- lint.per-file-ignores."conftest.py" = [ "D100" ]
71
- lint.per-file-ignores."docs/conf.py" = [ "D100" ]
72
- lint.per-file-ignores."setup.py" = [ "D100" ]
73
- lint.per-file-ignores."tests/**/*" = [
74
- "D100",
75
- "D101",
76
- "D102",
77
- "D103",
78
- "D104",
79
- "S101",
80
- ]
81
- lint.isort.known-first-party = [ "matplotlib_multicolored_line", "tests" ]
82
-
83
- [tool.pytest.ini_options]
84
- addopts = """\
85
- -v
86
- -Wdefault
87
- --cov=matplotlib_multicolored_line
88
- --cov-report=term
89
- --cov-report=xml
90
- """
91
- pythonpath = [ "src" ]
92
-
93
- [tool.coverage.run]
94
- branch = true
95
-
96
- [tool.coverage.report]
97
- exclude_lines = [
98
- "pragma: no cover",
99
- "@overload",
100
- "if TYPE_CHECKING",
101
- "raise NotImplementedError",
102
- 'if __name__ == "__main__":',
103
- ]
104
-
105
- [tool.mypy]
106
- check_untyped_defs = true
107
- disallow_any_generics = true
108
- disallow_incomplete_defs = true
109
- disallow_untyped_defs = true
110
- mypy_path = "src/"
111
- no_implicit_optional = true
112
- show_error_codes = true
113
- warn_unreachable = true
114
- warn_unused_ignores = true
115
- exclude = [
116
- 'docs/.*',
117
- 'setup.py',
118
- ]
119
-
120
- [[tool.mypy.overrides]]
121
- module = "tests.*"
122
- allow_untyped_defs = true
123
-
124
- [[tool.mypy.overrides]]
125
- module = "docs.*"
126
- ignore_errors = true
127
-
128
- [tool.semantic_release]
129
- version_toml = [ "pyproject.toml:project.version" ]
130
- version_variables = [
131
- "src/matplotlib_multicolored_line/__init__.py:__version__",
132
- "docs/conf.py:release",
133
- ]
134
- build_command = """
135
- pip install uv
136
- uv lock
137
- git add uv.lock
138
- uv build
139
- """
140
-
141
- [tool.semantic_release.changelog]
142
- exclude_commit_patterns = [
143
- '''chore(?:\([^)]*?\))?: .+''',
144
- '''ci(?:\([^)]*?\))?: .+''',
145
- '''refactor(?:\([^)]*?\))?: .+''',
146
- '''style(?:\([^)]*?\))?: .+''',
147
- '''test(?:\([^)]*?\))?: .+''',
148
- '''build\((?!deps\): .+)''',
149
- '''Merged? .*''',
150
- '''Initial [Cc]ommit.*''', # codespell:ignore
151
- ]
152
-
153
- [tool.semantic_release.changelog.environment]
154
- keep_trailing_newline = true
155
-
156
- [tool.semantic_release.branches.main]
157
- match = "main"
158
-
159
- [tool.semantic_release.branches.noop]
160
- match = "(?!main$)"
161
- prerelease = true
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env python
2
-
3
- # This is a shim to allow GitHub to detect the package, build is done with uv
4
- # Taken from https://github.com/Textualize/rich
5
-
6
- import setuptools
7
-
8
- if __name__ == "__main__":
9
- setuptools.setup(name="matplotlib-multicolored-line")