timevec 0.3.0__tar.gz → 0.3.2__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 (49) hide show
  1. {timevec-0.3.0 → timevec-0.3.2}/.github/workflows/gitignore-in.yml +1 -1
  2. timevec-0.3.2/.github/workflows/octocov.yml +50 -0
  3. {timevec-0.3.0 → timevec-0.3.2}/.github/workflows/pypi-publish.yml +14 -18
  4. timevec-0.3.2/.github/workflows/python-test.yml +66 -0
  5. {timevec-0.3.0 → timevec-0.3.2}/.github/workflows/spellcheck.yml +1 -1
  6. {timevec-0.3.0 → timevec-0.3.2}/.gitignore +120 -30
  7. timevec-0.3.2/.gitignore.in +5 -0
  8. timevec-0.3.2/.octocov.yml +21 -0
  9. {timevec-0.3.0 → timevec-0.3.2}/LICENSE +1 -1
  10. {timevec-0.3.0 → timevec-0.3.2}/PKG-INFO +22 -13
  11. {timevec-0.3.0 → timevec-0.3.2}/README.md +1 -1
  12. {timevec-0.3.0 → timevec-0.3.2}/examples/plot.py +6 -4
  13. {timevec-0.3.0 → timevec-0.3.2}/mypy.ini +0 -1
  14. timevec-0.3.2/pyproject.toml +133 -0
  15. timevec-0.3.2/setup.cfg +4 -0
  16. {timevec-0.3.0 → timevec-0.3.2}/tests/test_builtin_math.py +3 -3
  17. {timevec-0.3.0 → timevec-0.3.2}/tests/test_many_dates.py +7 -5
  18. {timevec-0.3.0 → timevec-0.3.2}/tests/test_same_result.py +9 -12
  19. {timevec-0.3.0 → timevec-0.3.2}/tests/test_util.py +15 -6
  20. timevec-0.3.2/timevec/__init__.py +32 -0
  21. timevec-0.3.2/timevec/_version.py +24 -0
  22. timevec-0.3.2/timevec/builtin_math.py +151 -0
  23. {timevec-0.3.0 → timevec-0.3.2}/timevec/numpy.py +65 -66
  24. {timevec-0.3.0 → timevec-0.3.2}/timevec/numpy_datetime64.py +14 -15
  25. {timevec-0.3.0 → timevec-0.3.2}/timevec/util.py +8 -7
  26. {timevec-0.3.0 → timevec-0.3.2}/timevec.egg-info/PKG-INFO +22 -13
  27. {timevec-0.3.0 → timevec-0.3.2}/timevec.egg-info/SOURCES.txt +3 -2
  28. timevec-0.3.2/timevec.egg-info/requires.txt +3 -0
  29. timevec-0.3.2/uv.lock +1283 -0
  30. timevec-0.3.0/.github/workflows/python-test.yml +0 -69
  31. timevec-0.3.0/.gitignore.in +0 -10
  32. timevec-0.3.0/poetry.lock +0 -1135
  33. timevec-0.3.0/pyproject.toml +0 -51
  34. timevec-0.3.0/setup.cfg +0 -40
  35. timevec-0.3.0/timevec/__init__.py +0 -12
  36. timevec-0.3.0/timevec/_version.py +0 -16
  37. timevec-0.3.0/timevec/builtin_math.py +0 -159
  38. timevec-0.3.0/timevec.egg-info/requires.txt +0 -3
  39. {timevec-0.3.0 → timevec-0.3.2}/.github/renovate.json5 +0 -0
  40. {timevec-0.3.0 → timevec-0.3.2}/.github/workflows/happy.yml +0 -0
  41. {timevec-0.3.0 → timevec-0.3.2}/examples/day_vec.svg +0 -0
  42. {timevec-0.3.0 → timevec-0.3.2}/examples/month_vec.svg +0 -0
  43. {timevec-0.3.0 → timevec-0.3.2}/examples/week_vec.svg +0 -0
  44. {timevec-0.3.0 → timevec-0.3.2}/examples/year_vec.svg +0 -0
  45. {timevec-0.3.0 → timevec-0.3.2}/tests/test_numpy.py +0 -0
  46. {timevec-0.3.0 → timevec-0.3.2}/tests/test_numpy_datetime64.py +1 -1
  47. {timevec-0.3.0 → timevec-0.3.2}/timevec/py.typed +0 -0
  48. {timevec-0.3.0 → timevec-0.3.2}/timevec.egg-info/dependency_links.txt +0 -0
  49. {timevec-0.3.0 → timevec-0.3.2}/timevec.egg-info/top_level.txt +0 -0
@@ -13,4 +13,4 @@ jobs:
13
13
  update-gitignore:
14
14
  runs-on: ubuntu-latest
15
15
  steps:
16
- - uses: gitignore-in/gh-action@v0.2.2
16
+ - uses: gitignore-in/gh-action@v0.2.3
@@ -0,0 +1,50 @@
1
+ name: octocov
2
+ on:
3
+ pull_request:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ permissions:
9
+ contents: read
10
+ pull-requests: write
11
+ checks: write
12
+
13
+ jobs:
14
+ octocov:
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ python: ["3.14"]
20
+
21
+ steps:
22
+ - name: Checkout
23
+ uses: actions/checkout@v6
24
+
25
+ - name: Set up Python
26
+ id: setup-python
27
+ uses: actions/setup-python@v6
28
+ with:
29
+ python-version: "${{ matrix.python }}"
30
+
31
+ - name: Set up uv
32
+ uses: astral-sh/setup-uv@v7
33
+
34
+ - name: Install dependencies
35
+ run: |
36
+ uv python pin ${{ matrix.python }}
37
+ uv sync
38
+
39
+ - name: Test
40
+ run: uv run poe test
41
+
42
+ - name: Coverage
43
+ run: uv run poe coverage-xml
44
+
45
+ # See also: https://github.com/k1LoW/octocov-action
46
+ - name: Report coverage with octocov
47
+ uses: k1LoW/octocov-action@v1
48
+ with:
49
+ github-token: ${{ secrets.GITHUB_TOKEN }}
50
+ config: .octocov.yml
@@ -7,35 +7,31 @@ on:
7
7
  # "released" events are emitted either when directly be released or be edited from pre-released.
8
8
  types: [prereleased, released]
9
9
 
10
+ permissions:
11
+ contents: read
12
+
10
13
  jobs:
11
14
  deploy:
12
15
  runs-on: ubuntu-latest
16
+ permissions:
17
+ contents: read
13
18
  steps:
14
- - uses: actions/checkout@v4
19
+ - uses: actions/checkout@v6
15
20
 
16
21
  - name: Set up Python
17
22
  id: setup-python
18
- uses: actions/setup-python@v5
23
+ uses: actions/setup-python@v6
19
24
  with:
20
- python-version: "3.13"
25
+ python-version: "3.14"
21
26
 
22
- - name: Set up poetry
23
- uses: abatilo/actions-poetry@v3
27
+ - name: Set up uv
28
+ uses: astral-sh/setup-uv@v7
24
29
 
25
- - name: Cache
26
- uses: actions/cache@v4
27
- with:
28
- path: ~/.cache/pypoetry/virtualenvs
29
- key: ${{ runner.os }}-build-${{ matrix.python }}-${{ hashFiles('**/poetry.lock') }}
30
- restore-keys: |
31
- ${{ runner.os }}-build-${{ matrix.python }}-${{ hashFiles('**/poetry.lock') }}
32
- ${{ runner.os }}-build-${{ matrix.python }}-
33
- ${{ runner.os }}-
34
- - run: poetry install
30
+ - name: Install dependencies
31
+ run: uv sync
35
32
 
36
33
  - name: Build
37
- # I use poetry just as a package manager, so this is not `poetry build`
38
- run: poetry run poe build
34
+ run: uv build
39
35
 
40
36
  - name: Publish distribution to Test PyPI
41
37
  uses: pypa/gh-action-pypi-publish@release/v1
@@ -43,7 +39,7 @@ jobs:
43
39
  with:
44
40
  user: __token__
45
41
  password: ${{ secrets.TEST_PYPI_API_TOKEN }}
46
- repository_url: https://test.pypi.org/legacy/
42
+ repository-url: https://test.pypi.org/legacy/
47
43
 
48
44
  - name: Publish distribution to PyPI
49
45
  if: github.event_name == 'release' && !github.event.release.prerelease
@@ -0,0 +1,66 @@
1
+ name: Test
2
+ on:
3
+ # pull-request events are not triggered when a PR is merged
4
+ # push events are not triggered when a PR created from a fork repository
5
+ # So we need both to run tests on every PR and after merging
6
+ pull_request:
7
+ push:
8
+ branches:
9
+ - main
10
+
11
+ jobs:
12
+ actionlint:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Checkout
16
+ uses: actions/checkout@v6
17
+
18
+ - name: Set up Go
19
+ uses: actions/setup-go@v5
20
+ with:
21
+ go-version: stable
22
+
23
+ - name: Run actionlint
24
+ run: go run github.com/rhysd/actionlint/cmd/actionlint@v1.7.12
25
+
26
+ test:
27
+ runs-on: ubuntu-latest
28
+ strategy:
29
+ fail-fast: false
30
+ matrix:
31
+ python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
32
+ steps:
33
+ - name: Checkout
34
+ uses: actions/checkout@v6
35
+
36
+ - name: Set up Python
37
+ id: setup-python
38
+ uses: actions/setup-python@v6
39
+ with:
40
+ python-version: "${{ matrix.python }}"
41
+
42
+ - name: Set up uv
43
+ uses: astral-sh/setup-uv@v7
44
+
45
+ - name: Install dependencies
46
+ run: |
47
+ uv python pin ${{ matrix.python }}
48
+ uv sync
49
+
50
+ - name: Lint
51
+ run: uv run poe check
52
+
53
+ - name: Check Python version
54
+ run: |
55
+ actual_version=$(uv run python --version)
56
+ expected_version="Python ${{ matrix.python }}"
57
+ if [[ "$actual_version" != *"$expected_version"* ]]; then
58
+ echo "Expected $expected_version, but got $actual_version"
59
+ exit 1
60
+ fi
61
+
62
+ - name: Test
63
+ run: uv run poe test
64
+
65
+ - name: Coverage
66
+ run: uv run poe coverage-xml
@@ -8,7 +8,7 @@ jobs:
8
8
  runs-on: ubuntu-latest
9
9
  steps:
10
10
  - name: Checkout
11
- uses: actions/checkout@v4
11
+ uses: actions/checkout@v6
12
12
 
13
13
  - name: Check spelling
14
14
  uses: crate-ci/typos@master
@@ -2,19 +2,17 @@
2
2
  # Generated by gitignore.in
3
3
  # Edit .gitignore.in instead of this file
4
4
  # Run `gitignore.in` to build .gitignore
5
- # #!/usr/bin/env bash
6
- # # `gibo list' and `gi list'
7
5
  # -----------------------------------------------------------------------------
8
6
  # gibo dump Linux
9
7
  ### Generated by gibo (https://github.com/simonwhitaker/gibo)
10
- ### https://raw.github.com/github/gitignore/33243d9491911332228307c915ff95707791a91f/Global/Linux.gitignore
8
+ ### https://raw.github.com/github/gitignore/576334520435382d6522f349b9d270eda1e79a25/Global/Linux.gitignore
11
9
 
12
10
  *~
13
11
 
14
12
  # temporary files which can be created if a process still has a handle open of a deleted file
15
13
  .fuse_hidden*
16
14
 
17
- # KDE directory preferences
15
+ # Metadata left by Dolphin file manager, which comes with KDE Plasma
18
16
  .directory
19
17
 
20
18
  # Linux trash folder which might appear on any partition or disk
@@ -22,10 +20,13 @@
22
20
 
23
21
  # .nfs files are created when an open file is removed but is still being accessed
24
22
  .nfs*
23
+
24
+ # Log files created by default by the nohup command
25
+ nohup.out
25
26
  # -----------------------------------------------------------------------------
26
27
  # gibo dump Windows
27
28
  ### Generated by gibo (https://github.com/simonwhitaker/gibo)
28
- ### https://raw.github.com/github/gitignore/33243d9491911332228307c915ff95707791a91f/Global/Windows.gitignore
29
+ ### https://raw.github.com/github/gitignore/576334520435382d6522f349b9d270eda1e79a25/Global/Windows.gitignore
29
30
 
30
31
  # Windows thumbnail cache files
31
32
  Thumbs.db
@@ -54,20 +55,20 @@ $RECYCLE.BIN/
54
55
  # -----------------------------------------------------------------------------
55
56
  # gibo dump macOS
56
57
  ### Generated by gibo (https://github.com/simonwhitaker/gibo)
57
- ### https://raw.github.com/github/gitignore/33243d9491911332228307c915ff95707791a91f/Global/macOS.gitignore
58
+ ### https://raw.github.com/github/gitignore/576334520435382d6522f349b9d270eda1e79a25/Global/macOS.gitignore
58
59
 
59
60
  # General
60
61
  .DS_Store
62
+ .localized
63
+ __MACOSX/
61
64
  .AppleDouble
62
65
  .LSOverride
66
+ Icon[
63
67
 
64
- # Icon must end with two \r
65
- Icon
66
-
67
- # Thumbnails
68
+ # Resource forks
68
69
  ._*
69
70
 
70
- # Files that might appear in the root of a volume
71
+ # Files and directories that might appear in the root of a volume
71
72
  .DocumentRevisions-V100
72
73
  .fseventsd
73
74
  .Spotlight-V100
@@ -75,6 +76,15 @@ Icon
75
76
  .Trashes
76
77
  .VolumeIcon.icns
77
78
  .com.apple.timemachine.donotpresent
79
+ .com.apple.timemachine.supported
80
+ .PKInstallSandboxManager
81
+ .PKInstallSandboxManager-SystemSoftware
82
+ .hotfiles.btree
83
+ .vol
84
+ .file
85
+ .disk_label*
86
+ lost+found
87
+ .HFS+ Private Directory Data[
78
88
 
79
89
  # Directories potentially created on remote AFP share
80
90
  .AppleDB
@@ -82,14 +92,36 @@ Icon
82
92
  Network Trash Folder
83
93
  Temporary Items
84
94
  .apdisk
95
+
96
+ # Mac OS 6 to 9
97
+ Desktop DB
98
+ Desktop DF
99
+ TheFindByContentFolder
100
+ TheVolumeSettingsFolder
101
+ .FBCIndex
102
+ .FBCSemaphoreFile
103
+ .FBCLockFolder
104
+
105
+ # Quota system
106
+ .quota.group
107
+ .quota.user
108
+ .quota.ops.group
109
+ .quota.ops.user
110
+
111
+ # TimeMachine
112
+ Backups.backupdb
113
+ .MobileBackups
114
+ .MobileBackups.trash
115
+ MobileBackups.trash
116
+ tmbootpicker.efi
85
117
  # -----------------------------------------------------------------------------
86
118
  # gibo dump Python
87
119
  ### Generated by gibo (https://github.com/simonwhitaker/gibo)
88
- ### https://raw.github.com/github/gitignore/33243d9491911332228307c915ff95707791a91f/Python.gitignore
120
+ ### https://raw.github.com/github/gitignore/576334520435382d6522f349b9d270eda1e79a25/Python.gitignore
89
121
 
90
122
  # Byte-compiled / optimized / DLL files
91
123
  __pycache__/
92
- *.py[cod]
124
+ *.py[codz]
93
125
  *$py.class
94
126
 
95
127
  # C extensions
@@ -116,8 +148,8 @@ share/python-wheels/
116
148
  MANIFEST
117
149
 
118
150
  # PyInstaller
119
- # Usually these files are written by a python script from a template
120
- # before PyInstaller builds the exe, so as to inject date/other infos into it.
151
+ # Usually these files are written by a python script from a template
152
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
121
153
  *.manifest
122
154
  *.spec
123
155
 
@@ -135,7 +167,8 @@ htmlcov/
135
167
  nosetests.xml
136
168
  coverage.xml
137
169
  *.cover
138
- *.py,cover
170
+ *.py.cover
171
+ *.lcov
139
172
  .hypothesis/
140
173
  .pytest_cache/
141
174
  cover/
@@ -181,37 +214,65 @@ ipython_config.py
181
214
  # However, in case of collaboration, if having platform-specific dependencies or dependencies
182
215
  # having no cross-platform support, pipenv may install dependencies that don't work, or not
183
216
  # install all needed dependencies.
184
- #Pipfile.lock
217
+ # Pipfile.lock
218
+
219
+ # UV
220
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
221
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
222
+ # commonly ignored for libraries.
223
+ # uv.lock
185
224
 
186
225
  # poetry
187
226
  # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
188
227
  # This is especially recommended for binary packages to ensure reproducibility, and is more
189
228
  # commonly ignored for libraries.
190
229
  # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
191
- #poetry.lock
230
+ # poetry.lock
231
+ # poetry.toml
192
232
 
193
233
  # pdm
194
234
  # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
195
- #pdm.lock
196
- # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
197
- # in version control.
198
- # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
199
- .pdm.toml
235
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
236
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
237
+ # pdm.lock
238
+ # pdm.toml
200
239
  .pdm-python
201
240
  .pdm-build/
202
241
 
242
+ # pixi
243
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
244
+ # pixi.lock
245
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
246
+ # in the .venv directory. It is recommended not to include this directory in version control.
247
+ .pixi/*
248
+ !.pixi/config.toml
249
+
203
250
  # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
204
251
  __pypackages__/
205
252
 
206
253
  # Celery stuff
207
- celerybeat-schedule
254
+ celerybeat-schedule*
208
255
  celerybeat.pid
209
256
 
257
+ # Redis
258
+ *.rdb
259
+ *.aof
260
+ *.pid
261
+
262
+ # RabbitMQ
263
+ mnesia/
264
+ rabbitmq/
265
+ rabbitmq-data/
266
+
267
+ # ActiveMQ
268
+ activemq-data/
269
+
210
270
  # SageMath parsed files
211
271
  *.sage.py
212
272
 
213
273
  # Environments
214
274
  .env
275
+ .envrc
215
276
  .venv
216
277
  env/
217
278
  venv/
@@ -244,10 +305,39 @@ dmypy.json
244
305
  cython_debug/
245
306
 
246
307
  # PyCharm
247
- # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
248
- # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
249
- # and can be added to the global gitignore or merged into this file. For a more nuclear
250
- # option (not recommended) you can uncomment the following to ignore the entire idea folder.
251
- #.idea/
308
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
309
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
310
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
311
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
312
+ # .idea/
313
+
314
+ # Abstra
315
+ # Abstra is an AI-powered process automation framework.
316
+ # Ignore directories containing user credentials, local state, and settings.
317
+ # Learn more at https://abstra.io/docs
318
+ .abstra/
319
+
320
+ # Visual Studio Code
321
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
322
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
323
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
324
+ # you could uncomment the following to ignore the entire vscode folder
325
+ # .vscode/
326
+ # Temporary file for partial code execution
327
+ tempCodeRunnerFile.py
328
+
329
+ # Ruff stuff:
330
+ .ruff_cache/
331
+
332
+ # PyPI configuration file
333
+ .pypirc
334
+
335
+ # Marimo
336
+ marimo/_static/
337
+ marimo/_lsp/
338
+ __marimo__/
339
+
340
+ # Streamlit
341
+ .streamlit/secrets.toml
252
342
  # -----------------------------------------------------------------------------
253
- timevec/_version.py
343
+ _version.py
@@ -0,0 +1,5 @@
1
+ gibo dump Linux
2
+ gibo dump Windows
3
+ gibo dump macOS
4
+ gibo dump Python
5
+ echo _version.py
@@ -0,0 +1,21 @@
1
+ # https://github.com/k1LoW/octocov?tab=readme-ov-file#configuration
2
+ coverage:
3
+ paths:
4
+ - coverage.xml
5
+ codeToTestRatio:
6
+ code:
7
+ - "**/*.py"
8
+ test:
9
+ - "tests/**/*.py"
10
+ testExecutionTime:
11
+ if: true
12
+ diff:
13
+ datastores:
14
+ - artifact://${GITHUB_REPOSITORY}
15
+ comment:
16
+ if: is_pull_request
17
+ updatePrevious: true
18
+ report:
19
+ if: is_default_branch
20
+ datastores:
21
+ - artifact://${GITHUB_REPOSITORY}
@@ -1,4 +1,4 @@
1
- Copyright 2023 Kitsu Yui
1
+ Copyright 2023-2025 Kitsu Yui
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
4
 
@@ -1,33 +1,42 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: timevec
3
- Version: 0.3.0
4
- Summary: Get some usable vector representations of datetime
5
- Home-page: https://github.com/kitsuyui/python-timevec
6
- Author: Yui Kitsu
7
- Author-email: kitsuyui+github@kitsuyui.com
8
- License: BSD-3-Clause
3
+ Version: 0.3.2
4
+ Summary: Get some usable vector representations of datetime.
5
+ Author-email: Yui KITSU <kitsuyui+github@kitsuyui.com>
6
+ License: Copyright 2023-2025 Kitsu Yui
7
+
8
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
9
+
10
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
13
+
14
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
17
+
18
+ Project-URL: Homepage, https://github.com/kitsuyui/python-timevec
9
19
  Classifier: Development Status :: 3 - Alpha
10
20
  Classifier: License :: OSI Approved :: BSD License
11
- Classifier: Programming Language :: Python :: 3.9
12
21
  Classifier: Programming Language :: Python :: 3.10
13
22
  Classifier: Programming Language :: Python :: 3.11
14
23
  Classifier: Programming Language :: Python :: 3.12
15
24
  Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Programming Language :: Python :: 3.14
16
26
  Classifier: Intended Audience :: Developers
17
- Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
18
27
  Classifier: Topic :: Software Development :: Libraries
19
- Classifier: Typing :: Typed
20
- Requires-Python: >=3.9
28
+ Requires-Python: >=3.10
21
29
  Description-Content-Type: text/markdown
22
30
  License-File: LICENSE
23
31
  Provides-Extra: numpy
24
- Requires-Dist: numpy; extra == "numpy"
32
+ Requires-Dist: numpy>=1.25.0; extra == "numpy"
33
+ Dynamic: license-file
25
34
 
26
35
  # timevec
27
36
 
28
37
  [![python versions](https://img.shields.io/pypi/pyversions/timevec)](https://pypi.org/project/timevec/)
29
38
  [![package version](https://img.shields.io/pypi/v/timevec)](https://pypi.org/project/timevec/#history)
30
- [![codecov](https://codecov.io/gh/kitsuyui/python-timevec/branch/main/graph/badge.svg?token=38BQRO1R00)](https://codecov.io/gh/kitsuyui/python-timevec)
39
+ ![Coverage](https://raw.githubusercontent.com/kitsuyui/octocov-central/main/badges/kitsuyui/python-timevec/coverage.svg)
31
40
 
32
41
  Functions to create time vectors
33
42
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![python versions](https://img.shields.io/pypi/pyversions/timevec)](https://pypi.org/project/timevec/)
4
4
  [![package version](https://img.shields.io/pypi/v/timevec)](https://pypi.org/project/timevec/#history)
5
- [![codecov](https://codecov.io/gh/kitsuyui/python-timevec/branch/main/graph/badge.svg?token=38BQRO1R00)](https://codecov.io/gh/kitsuyui/python-timevec)
5
+ ![Coverage](https://raw.githubusercontent.com/kitsuyui/octocov-central/main/badges/kitsuyui/python-timevec/coverage.svg)
6
6
 
7
7
  Functions to create time vectors
8
8
 
@@ -1,15 +1,17 @@
1
1
  # ja: 実際に year_vec がどのような値を返すかのグラフを描き、わかりやすくします。
2
2
 
3
3
  import datetime
4
- import numpy as np
5
- from typing import Callable, List
4
+ from collections.abc import Callable
5
+
6
6
  import matplotlib.pyplot as plt
7
+ import numpy as np
8
+
7
9
  import timevec.numpy as tv
8
10
 
9
11
 
10
- def plot_func_vec(func: Callable[[datetime.datetime], np.ndarray], dates: List[datetime.datetime]) -> None:
12
+ def plot_func_vec(func: Callable[[datetime.datetime], np.ndarray], dates: list[datetime.datetime]) -> None:
11
13
  vecs = np.array([func(dt) for dt in dates])
12
- fig, ax = plt.subplots()
14
+ _fig, _ax = plt.subplots()
13
15
  plt.plot(vecs)
14
16
  plt.savefig(f"examples/{func.__name__}.svg")
15
17
 
@@ -1,5 +1,4 @@
1
1
  [mypy]
2
- python_version = 3.10
3
2
  warn_return_any = True
4
3
  warn_unused_configs = True
5
4
  disallow_untyped_defs = True