oresme 0.1.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.
oresme-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Mehmet Keçeci
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,3 @@
1
+ include README.md
2
+ include LICENSE
3
+ recursive-include data *.json
oresme-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,209 @@
1
+ Metadata-Version: 2.4
2
+ Name: oresme
3
+ Version: 0.1.0
4
+ Summary: Oresme numbers refer to the sums related to the harmonic series
5
+ Home-page: https://github.com/WhiteSymmetry/Oresme
6
+ Author: Mehmet Keçeci
7
+ Author-email: Mehmet Keçeci <mkececi@yaani.com>
8
+ License: MIT License
9
+
10
+ Copyright (c) 2025 Mehmet Keçeci
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+
30
+ Project-URL: Homepage, https://github.com/WhiteSymmetry/Oresme/
31
+ Project-URL: Documentation, https://WhiteSymmetry.github.io/Oresme/
32
+ Project-URL: Repository, https://github.com/WhiteSymmetry/Oresme/
33
+ Project-URL: Issues, https://github.com/WhiteSymmetry/Oresme/issues
34
+ Keywords: Oresme
35
+ Classifier: Programming Language :: Python :: 3
36
+ Classifier: Operating System :: OS Independent
37
+ Classifier: Topic :: Software Development
38
+ Classifier: Topic :: Scientific/Engineering
39
+ Classifier: Typing :: Typed
40
+ Classifier: Operating System :: Microsoft :: Windows
41
+ Classifier: Operating System :: POSIX
42
+ Classifier: Operating System :: Unix
43
+ Classifier: Operating System :: MacOS
44
+ Classifier: License :: OSI Approved :: MIT License
45
+ Classifier: Intended Audience :: Developers
46
+ Classifier: Intended Audience :: Science/Research
47
+ Requires-Python: >=3.9
48
+ Description-Content-Type: text/markdown
49
+ License-File: LICENSE
50
+ Dynamic: author
51
+ Dynamic: home-page
52
+ Dynamic: license-file
53
+ Dynamic: requires-python
54
+
55
+ # Oresme
56
+
57
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/.svg)](https://doi.org/)
58
+
59
+ [![WorkflowHub DOI](https://img.shields.io/badge/DOI--blue)](https://doi.org/)
60
+
61
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/version.svg)](https://anaconda.org/bilgi/Oresme)
62
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/latest_release_date.svg)](https://anaconda.org/bilgi/Oresme)
63
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/platforms.svg)](https://anaconda.org/bilgi/Oresme)
64
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/license.svg)](https://anaconda.org/bilgi/Oresme)
65
+ [![Open Source](https://img.shields.io/badge/Open%20Source-Open%20Source-brightgreen.svg)](https://opensource.org/)
66
+ [![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
67
+
68
+
69
+ Oresme numbers refer to the sums related to the harmonic series.
70
+
71
+ ---
72
+
73
+ ## Tanım (Türkçe)
74
+ Oresme sayıları harmonik seriye ait toplamları ifade eder.
75
+
76
+ ## Description (English)
77
+ Oresme numbers refer to the sums related to the harmonic series.
78
+
79
+ ---
80
+
81
+ ## Kurulum (Türkçe) / Installation (English)
82
+
83
+ ### Python ile Kurulum / Install with pip, conda, mamba
84
+ ```bash
85
+ pip install Oresme -U
86
+ python -m pip install -U Oresme
87
+ conda install bilgi::Oresme -y
88
+ mamba install bilgi::Oresme -y
89
+ ```
90
+
91
+ ```diff
92
+ - pip uninstall Oresme -y
93
+ + pip install -U Oresme
94
+ + python -m pip install -U Oresme
95
+ ```
96
+
97
+ [PyPI](https://pypi.org/project/Oresme/)
98
+
99
+ ### Test Kurulumu / Test Installation
100
+
101
+ ```bash
102
+ pip install -i https://test.pypi.org/simple/ Oresme -U
103
+ ```
104
+
105
+ ### Github Master Kurulumu / GitHub Master Installation
106
+
107
+ **Terminal:**
108
+
109
+ ```bash
110
+ pip install git+https://github.com/WhiteSymmetry/Oresme.git
111
+ ```
112
+
113
+ **Jupyter Lab, Notebook, Visual Studio Code:**
114
+
115
+ ```python
116
+ !pip install git+https://github.com/WhiteSymmetry/Oresme.git
117
+ # or
118
+ %pip install git+https://github.com/WhiteSymmetry/Oresme.git
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Kullanım (Türkçe) / Usage (English)
124
+
125
+ ```python
126
+ import oresme as ore
127
+
128
+ # Example 1: Generate Oresme sequence
129
+ print(ore.oresme_sequence(5)) # [0.5, 0.5, 0.375, 0.25, 0.15625]
130
+
131
+ # Example 2: Get exact harmonic numbers as fractions
132
+ print(ore.harmonic_numbers(3)) # [Fraction(1, 1), Fraction(3, 2), Fraction(11, 6)]
133
+
134
+ # Example 3: Calculate single harmonic number
135
+ print(ore.harmonic_number(5)) # 2.283333333333333
136
+
137
+ # Example 4: Approximate large harmonic number
138
+ print(ore.harmonic_number_approx(1_000_000)) # ≈14.392726722865724
139
+
140
+ # Example 5: Use generator
141
+ for i, h in enumerate(ore.harmonic_generator(3), 1):
142
+ print(f"H_{i} = {h}")
143
+
144
+ # Example 6: NumPy vectorized version
145
+ print(ore.harmonic_numbers_numpy(5)) # [1. 1.5 1.833... 2.083... 2.283...]
146
+
147
+ [0.5, 0.5, 0.375, 0.25, 0.15625]
148
+ [Fraction(1, 1), Fraction(3, 2), Fraction(11, 6)]
149
+ 2.283333333333333
150
+ 14.392726722865808
151
+ H_1 = 1.0
152
+ H_2 = 1.5
153
+ H_3 = 1.8333333333333333
154
+ [1. 1.5 1.83333333 2.08333333 2.28333333]
155
+
156
+ ```
157
+
158
+ ```python
159
+ import oresme
160
+ oresme.__version__
161
+ ```
162
+ ---
163
+
164
+ ### Development
165
+ ```bash
166
+ # Clone the repository
167
+ git clone https://github.com/WhiteSymmetry/Oresme.git
168
+ cd Oresme
169
+
170
+ # Install in development mode
171
+ python -m pip install -ve . # Install package in development mode
172
+
173
+ # Run tests
174
+ pytest
175
+
176
+ Notebook, Jupyterlab, Colab, Visual Studio Code
177
+ !python -m pip install git+https://github.com/WhiteSymmetry/Oresme.git
178
+ ```
179
+ ---
180
+
181
+ ## Citation
182
+
183
+ If this library was useful to you in your research, please cite us. Following the [GitHub citation standards](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files), here is the recommended citation.
184
+
185
+ ### BibTeX
186
+
187
+
188
+ ### APA
189
+
190
+ ```
191
+
192
+
193
+ Keçeci, M. (2025). Oresme. GZenodo. https://doi.org/
194
+ ```
195
+
196
+ ### Chicago
197
+
198
+ ```
199
+
200
+ Keçeci, Mehmet. "Oresme". Zenodo, 2025. https://doi.org/
201
+
202
+ ```
203
+
204
+
205
+ ### Lisans (Türkçe) / License (English)
206
+
207
+ ```
208
+ This project is licensed under the MIT License.
209
+ ```
oresme-0.1.0/README.md ADDED
@@ -0,0 +1,155 @@
1
+ # Oresme
2
+
3
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/.svg)](https://doi.org/)
4
+
5
+ [![WorkflowHub DOI](https://img.shields.io/badge/DOI--blue)](https://doi.org/)
6
+
7
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/version.svg)](https://anaconda.org/bilgi/Oresme)
8
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/latest_release_date.svg)](https://anaconda.org/bilgi/Oresme)
9
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/platforms.svg)](https://anaconda.org/bilgi/Oresme)
10
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/license.svg)](https://anaconda.org/bilgi/Oresme)
11
+ [![Open Source](https://img.shields.io/badge/Open%20Source-Open%20Source-brightgreen.svg)](https://opensource.org/)
12
+ [![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
13
+
14
+
15
+ Oresme numbers refer to the sums related to the harmonic series.
16
+
17
+ ---
18
+
19
+ ## Tanım (Türkçe)
20
+ Oresme sayıları harmonik seriye ait toplamları ifade eder.
21
+
22
+ ## Description (English)
23
+ Oresme numbers refer to the sums related to the harmonic series.
24
+
25
+ ---
26
+
27
+ ## Kurulum (Türkçe) / Installation (English)
28
+
29
+ ### Python ile Kurulum / Install with pip, conda, mamba
30
+ ```bash
31
+ pip install Oresme -U
32
+ python -m pip install -U Oresme
33
+ conda install bilgi::Oresme -y
34
+ mamba install bilgi::Oresme -y
35
+ ```
36
+
37
+ ```diff
38
+ - pip uninstall Oresme -y
39
+ + pip install -U Oresme
40
+ + python -m pip install -U Oresme
41
+ ```
42
+
43
+ [PyPI](https://pypi.org/project/Oresme/)
44
+
45
+ ### Test Kurulumu / Test Installation
46
+
47
+ ```bash
48
+ pip install -i https://test.pypi.org/simple/ Oresme -U
49
+ ```
50
+
51
+ ### Github Master Kurulumu / GitHub Master Installation
52
+
53
+ **Terminal:**
54
+
55
+ ```bash
56
+ pip install git+https://github.com/WhiteSymmetry/Oresme.git
57
+ ```
58
+
59
+ **Jupyter Lab, Notebook, Visual Studio Code:**
60
+
61
+ ```python
62
+ !pip install git+https://github.com/WhiteSymmetry/Oresme.git
63
+ # or
64
+ %pip install git+https://github.com/WhiteSymmetry/Oresme.git
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Kullanım (Türkçe) / Usage (English)
70
+
71
+ ```python
72
+ import oresme as ore
73
+
74
+ # Example 1: Generate Oresme sequence
75
+ print(ore.oresme_sequence(5)) # [0.5, 0.5, 0.375, 0.25, 0.15625]
76
+
77
+ # Example 2: Get exact harmonic numbers as fractions
78
+ print(ore.harmonic_numbers(3)) # [Fraction(1, 1), Fraction(3, 2), Fraction(11, 6)]
79
+
80
+ # Example 3: Calculate single harmonic number
81
+ print(ore.harmonic_number(5)) # 2.283333333333333
82
+
83
+ # Example 4: Approximate large harmonic number
84
+ print(ore.harmonic_number_approx(1_000_000)) # ≈14.392726722865724
85
+
86
+ # Example 5: Use generator
87
+ for i, h in enumerate(ore.harmonic_generator(3), 1):
88
+ print(f"H_{i} = {h}")
89
+
90
+ # Example 6: NumPy vectorized version
91
+ print(ore.harmonic_numbers_numpy(5)) # [1. 1.5 1.833... 2.083... 2.283...]
92
+
93
+ [0.5, 0.5, 0.375, 0.25, 0.15625]
94
+ [Fraction(1, 1), Fraction(3, 2), Fraction(11, 6)]
95
+ 2.283333333333333
96
+ 14.392726722865808
97
+ H_1 = 1.0
98
+ H_2 = 1.5
99
+ H_3 = 1.8333333333333333
100
+ [1. 1.5 1.83333333 2.08333333 2.28333333]
101
+
102
+ ```
103
+
104
+ ```python
105
+ import oresme
106
+ oresme.__version__
107
+ ```
108
+ ---
109
+
110
+ ### Development
111
+ ```bash
112
+ # Clone the repository
113
+ git clone https://github.com/WhiteSymmetry/Oresme.git
114
+ cd Oresme
115
+
116
+ # Install in development mode
117
+ python -m pip install -ve . # Install package in development mode
118
+
119
+ # Run tests
120
+ pytest
121
+
122
+ Notebook, Jupyterlab, Colab, Visual Studio Code
123
+ !python -m pip install git+https://github.com/WhiteSymmetry/Oresme.git
124
+ ```
125
+ ---
126
+
127
+ ## Citation
128
+
129
+ If this library was useful to you in your research, please cite us. Following the [GitHub citation standards](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files), here is the recommended citation.
130
+
131
+ ### BibTeX
132
+
133
+
134
+ ### APA
135
+
136
+ ```
137
+
138
+
139
+ Keçeci, M. (2025). Oresme. GZenodo. https://doi.org/
140
+ ```
141
+
142
+ ### Chicago
143
+
144
+ ```
145
+
146
+ Keçeci, Mehmet. "Oresme". Zenodo, 2025. https://doi.org/
147
+
148
+ ```
149
+
150
+
151
+ ### Lisans (Türkçe) / License (English)
152
+
153
+ ```
154
+ This project is licensed under the MIT License.
155
+ ```
@@ -0,0 +1,41 @@
1
+ [build-system]
2
+ requires = ["setuptools", "wheel", "setuptools_scm"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "oresme"
7
+ dynamic = ["version"]
8
+ license = {file = "LICENSE"}
9
+ authors = [
10
+ { name="Mehmet Keçeci", email="mkececi@yaani.com" },
11
+ ]
12
+ description = "Oresme numbers refer to the sums related to the harmonic series"
13
+ readme = "README.md"
14
+ requires-python = ">=3.8"
15
+ dependencies = [
16
+ ]
17
+ keywords = ["Oresme"]
18
+ classifiers = [
19
+ "Programming Language :: Python :: 3",
20
+ "Operating System :: OS Independent",
21
+ "Topic :: Software Development",
22
+ "Topic :: Scientific/Engineering",
23
+ "Typing :: Typed",
24
+ "Operating System :: Microsoft :: Windows",
25
+ "Operating System :: POSIX",
26
+ "Operating System :: Unix",
27
+ "Operating System :: MacOS",
28
+ "License :: OSI Approved :: MIT License",
29
+ "Intended Audience :: Developers",
30
+ "Intended Audience :: Science/Research",
31
+ ]
32
+
33
+ [tool.setuptools_scm]
34
+ version_file = "src/oresme/_version.py" # Sürüm bilgisinin bulunduğu dosya
35
+ local_scheme = "no-local-version"
36
+
37
+ [project.urls]
38
+ Homepage = "https://github.com/WhiteSymmetry/Oresme/"
39
+ Documentation = "https://WhiteSymmetry.github.io/Oresme/"
40
+ Repository = "https://github.com/WhiteSymmetry/Oresme/"
41
+ Issues = "https://github.com/WhiteSymmetry/Oresme/issues"
oresme-0.1.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
oresme-0.1.0/setup.py ADDED
@@ -0,0 +1,19 @@
1
+ from setuptools import setup, find_packages
2
+
3
+ setup(
4
+ name="oresme",
5
+ use_scm_version=True, # Sürüm bilgisini setuptools_scm ile alır
6
+ setup_requires=["setuptools", "wheel", "setuptools_scm"], # Gerekli kurulum bağımlılıkları
7
+ version='0.1.0',
8
+ packages=find_packages(where="src"), # src dizinindeki modülleri bul
9
+ package_dir={"": "src"}, # src dizinine yönlendirme
10
+ include_package_data=True, # Ek dosyaları dahil et
11
+ install_requires=[
12
+ "numpy",
13
+ ],
14
+ author="Mehmet Keçeci",
15
+ description="Oresme numbers refer to the sums related to the harmonic series.",
16
+ url="https://github.com/WhiteSymmetry/Oresme",
17
+ license="MIT",
18
+ python_requires='>=3.9',
19
+ )
@@ -0,0 +1,45 @@
1
+ # __init__.py
2
+ # Bu dosya paketin başlangıç noktası olarak çalışır.
3
+ # Alt modülleri yükler, sürüm bilgileri tanımlar ve geriye dönük uyumluluk için uyarılar sağlar.
4
+
5
+ from __future__ import annotations # Gelecekteki özellikler için (Python 3.7+)
6
+
7
+ import importlib
8
+ import warnings
9
+ import os
10
+ if os.getenv("DEVELOPMENT") == "true":
11
+ importlib.reload(oresme)
12
+
13
+
14
+ # Göreli modül içe aktarmaları
15
+ # F401 hatasını önlemek için sadece kullanacağınız şeyleri dışa aktarın
16
+ # Aksi halde linter'lar "imported but unused" uyarısı verir
17
+ try:
18
+ from .oresme import * # gerekirse burada belirli fonksiyonları seçmeli yapmak daha güvenlidir
19
+ from . import oresme # Modülün kendisine doğrudan erişim isteniyorsa
20
+ except ImportError as e:
21
+ warnings.warn(f"Gerekli modül yüklenemedi: {e}", ImportWarning)
22
+
23
+
24
+ # Eski bir fonksiyonun yer tutucusu - gelecekte kaldırılacak
25
+ def eski_fonksiyon():
26
+ """
27
+ Kaldırılması planlanan eski bir fonksiyondur.
28
+ Lütfen alternatif fonksiyonları kullanın.
29
+ """
30
+ warnings.warn(
31
+ "eski_fonksiyon() artık kullanılmamaktadır ve gelecekte kaldırılacaktır. "
32
+ "Lütfen yeni alternatif fonksiyonları kullanın. "
33
+ "Oresme Python 3.9-3.14 sürümlerinde desteklenmektedir.",
34
+ category=DeprecationWarning,
35
+ stacklevel=2
36
+ )
37
+
38
+
39
+ # Paket sürüm numarası
40
+ __version__ = "0.1.0"
41
+
42
+
43
+ # Geliştirme sırasında test etmek için
44
+ if __name__ == "__main__":
45
+ eski_fonksiyon()
@@ -0,0 +1,9 @@
1
+ # _version.py
2
+
3
+ __version__ = "0.1.0"
4
+ __license__ = "MIT"
5
+ __description__ = "Oresme numbers refer to the sums related to the harmonic series."
6
+ __author__ = "Mehmet Keçeci"
7
+ __url__ = "https://github.com/WhiteSymmetry/Oresme"
8
+ __docs__ = "https://WhiteSymmetry.github.io/Oresme" # Opsiyonel: Dokümantasyon linki
9
+ __dependencies__ = ["python>=3.9"] # Diğer bağımlılıkları da ekleyebilirsiniz
@@ -0,0 +1,51 @@
1
+ # oresme.py
2
+ """
3
+ A module for generating Oresme numbers (harmonic series partial sums)
4
+ """
5
+
6
+ from fractions import Fraction
7
+ import math
8
+ import numpy as np
9
+ from typing import List, Union, Generator
10
+
11
+ def oresme_sequence(n_terms: int) -> List[float]:
12
+ """Generates the first n terms of the Oresme sequence (1/2^n series)."""
13
+ return [i / (2 ** i) for i in range(1, n_terms + 1)]
14
+
15
+ def harmonic_numbers(n_terms: int, start_index: int = 1) -> List[Fraction]:
16
+ """Generates the first n terms of harmonic numbers (H_n = 1 + 1/2 + ... + 1/n)."""
17
+ sequence = []
18
+ current_sum = Fraction(0)
19
+ for i in range(start_index, start_index + n_terms):
20
+ current_sum += Fraction(1, i)
21
+ sequence.append(current_sum)
22
+ return sequence
23
+
24
+ def harmonic_number(n: int) -> float:
25
+ """Calculates the nth harmonic number (H_n = 1 + 1/2 + ... + 1/n)."""
26
+ return sum(1/k for k in range(1, n + 1))
27
+
28
+ def harmonic_number_approx(n: int) -> float:
29
+ """Approximates the nth harmonic number using Euler-Mascheroni constant."""
30
+ gamma = 0.57721566490153286060 # Euler-Mascheroni constant
31
+ return math.log(n) + gamma + 1/(2*n)
32
+
33
+ def harmonic_generator(n: int) -> Generator[float, None, None]:
34
+ """Generates harmonic numbers H_1 to H_n."""
35
+ total = 0.0
36
+ for k in range(1, n + 1):
37
+ total += 1/k
38
+ yield total
39
+
40
+ def harmonic_numbers_numpy(n: int) -> np.ndarray:
41
+ """Calculates harmonic numbers H_1 to H_n using NumPy for vectorization."""
42
+ return np.cumsum(1/np.arange(1, n + 1))
43
+
44
+ # Example usage when module is run directly
45
+ if __name__ == "__main__":
46
+ print("Oresme sequence (first 5 terms):", oresme_sequence(5))
47
+ print("Harmonic numbers (H1-H5):", harmonic_numbers(5))
48
+ print("5th harmonic number:", harmonic_number(5))
49
+ print("Approximation of 1000th harmonic number:", harmonic_number_approx(1000))
50
+ print("Harmonic generator (first 3 terms):", list(harmonic_generator(3)))
51
+ print("NumPy harmonic numbers (H1-H5):", harmonic_numbers_numpy(5))
@@ -0,0 +1,209 @@
1
+ Metadata-Version: 2.4
2
+ Name: oresme
3
+ Version: 0.1.0
4
+ Summary: Oresme numbers refer to the sums related to the harmonic series
5
+ Home-page: https://github.com/WhiteSymmetry/Oresme
6
+ Author: Mehmet Keçeci
7
+ Author-email: Mehmet Keçeci <mkececi@yaani.com>
8
+ License: MIT License
9
+
10
+ Copyright (c) 2025 Mehmet Keçeci
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+
30
+ Project-URL: Homepage, https://github.com/WhiteSymmetry/Oresme/
31
+ Project-URL: Documentation, https://WhiteSymmetry.github.io/Oresme/
32
+ Project-URL: Repository, https://github.com/WhiteSymmetry/Oresme/
33
+ Project-URL: Issues, https://github.com/WhiteSymmetry/Oresme/issues
34
+ Keywords: Oresme
35
+ Classifier: Programming Language :: Python :: 3
36
+ Classifier: Operating System :: OS Independent
37
+ Classifier: Topic :: Software Development
38
+ Classifier: Topic :: Scientific/Engineering
39
+ Classifier: Typing :: Typed
40
+ Classifier: Operating System :: Microsoft :: Windows
41
+ Classifier: Operating System :: POSIX
42
+ Classifier: Operating System :: Unix
43
+ Classifier: Operating System :: MacOS
44
+ Classifier: License :: OSI Approved :: MIT License
45
+ Classifier: Intended Audience :: Developers
46
+ Classifier: Intended Audience :: Science/Research
47
+ Requires-Python: >=3.9
48
+ Description-Content-Type: text/markdown
49
+ License-File: LICENSE
50
+ Dynamic: author
51
+ Dynamic: home-page
52
+ Dynamic: license-file
53
+ Dynamic: requires-python
54
+
55
+ # Oresme
56
+
57
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/.svg)](https://doi.org/)
58
+
59
+ [![WorkflowHub DOI](https://img.shields.io/badge/DOI--blue)](https://doi.org/)
60
+
61
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/version.svg)](https://anaconda.org/bilgi/Oresme)
62
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/latest_release_date.svg)](https://anaconda.org/bilgi/Oresme)
63
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/platforms.svg)](https://anaconda.org/bilgi/Oresme)
64
+ [![Anaconda-Server Badge](https://anaconda.org/bilgi/Oresme/badges/license.svg)](https://anaconda.org/bilgi/Oresme)
65
+ [![Open Source](https://img.shields.io/badge/Open%20Source-Open%20Source-brightgreen.svg)](https://opensource.org/)
66
+ [![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
67
+
68
+
69
+ Oresme numbers refer to the sums related to the harmonic series.
70
+
71
+ ---
72
+
73
+ ## Tanım (Türkçe)
74
+ Oresme sayıları harmonik seriye ait toplamları ifade eder.
75
+
76
+ ## Description (English)
77
+ Oresme numbers refer to the sums related to the harmonic series.
78
+
79
+ ---
80
+
81
+ ## Kurulum (Türkçe) / Installation (English)
82
+
83
+ ### Python ile Kurulum / Install with pip, conda, mamba
84
+ ```bash
85
+ pip install Oresme -U
86
+ python -m pip install -U Oresme
87
+ conda install bilgi::Oresme -y
88
+ mamba install bilgi::Oresme -y
89
+ ```
90
+
91
+ ```diff
92
+ - pip uninstall Oresme -y
93
+ + pip install -U Oresme
94
+ + python -m pip install -U Oresme
95
+ ```
96
+
97
+ [PyPI](https://pypi.org/project/Oresme/)
98
+
99
+ ### Test Kurulumu / Test Installation
100
+
101
+ ```bash
102
+ pip install -i https://test.pypi.org/simple/ Oresme -U
103
+ ```
104
+
105
+ ### Github Master Kurulumu / GitHub Master Installation
106
+
107
+ **Terminal:**
108
+
109
+ ```bash
110
+ pip install git+https://github.com/WhiteSymmetry/Oresme.git
111
+ ```
112
+
113
+ **Jupyter Lab, Notebook, Visual Studio Code:**
114
+
115
+ ```python
116
+ !pip install git+https://github.com/WhiteSymmetry/Oresme.git
117
+ # or
118
+ %pip install git+https://github.com/WhiteSymmetry/Oresme.git
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Kullanım (Türkçe) / Usage (English)
124
+
125
+ ```python
126
+ import oresme as ore
127
+
128
+ # Example 1: Generate Oresme sequence
129
+ print(ore.oresme_sequence(5)) # [0.5, 0.5, 0.375, 0.25, 0.15625]
130
+
131
+ # Example 2: Get exact harmonic numbers as fractions
132
+ print(ore.harmonic_numbers(3)) # [Fraction(1, 1), Fraction(3, 2), Fraction(11, 6)]
133
+
134
+ # Example 3: Calculate single harmonic number
135
+ print(ore.harmonic_number(5)) # 2.283333333333333
136
+
137
+ # Example 4: Approximate large harmonic number
138
+ print(ore.harmonic_number_approx(1_000_000)) # ≈14.392726722865724
139
+
140
+ # Example 5: Use generator
141
+ for i, h in enumerate(ore.harmonic_generator(3), 1):
142
+ print(f"H_{i} = {h}")
143
+
144
+ # Example 6: NumPy vectorized version
145
+ print(ore.harmonic_numbers_numpy(5)) # [1. 1.5 1.833... 2.083... 2.283...]
146
+
147
+ [0.5, 0.5, 0.375, 0.25, 0.15625]
148
+ [Fraction(1, 1), Fraction(3, 2), Fraction(11, 6)]
149
+ 2.283333333333333
150
+ 14.392726722865808
151
+ H_1 = 1.0
152
+ H_2 = 1.5
153
+ H_3 = 1.8333333333333333
154
+ [1. 1.5 1.83333333 2.08333333 2.28333333]
155
+
156
+ ```
157
+
158
+ ```python
159
+ import oresme
160
+ oresme.__version__
161
+ ```
162
+ ---
163
+
164
+ ### Development
165
+ ```bash
166
+ # Clone the repository
167
+ git clone https://github.com/WhiteSymmetry/Oresme.git
168
+ cd Oresme
169
+
170
+ # Install in development mode
171
+ python -m pip install -ve . # Install package in development mode
172
+
173
+ # Run tests
174
+ pytest
175
+
176
+ Notebook, Jupyterlab, Colab, Visual Studio Code
177
+ !python -m pip install git+https://github.com/WhiteSymmetry/Oresme.git
178
+ ```
179
+ ---
180
+
181
+ ## Citation
182
+
183
+ If this library was useful to you in your research, please cite us. Following the [GitHub citation standards](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files), here is the recommended citation.
184
+
185
+ ### BibTeX
186
+
187
+
188
+ ### APA
189
+
190
+ ```
191
+
192
+
193
+ Keçeci, M. (2025). Oresme. GZenodo. https://doi.org/
194
+ ```
195
+
196
+ ### Chicago
197
+
198
+ ```
199
+
200
+ Keçeci, Mehmet. "Oresme". Zenodo, 2025. https://doi.org/
201
+
202
+ ```
203
+
204
+
205
+ ### Lisans (Türkçe) / License (English)
206
+
207
+ ```
208
+ This project is licensed under the MIT License.
209
+ ```
@@ -0,0 +1,13 @@
1
+ LICENSE
2
+ MANIFEST.in
3
+ README.md
4
+ pyproject.toml
5
+ setup.py
6
+ src/oresme/__init__.py
7
+ src/oresme/_version.py
8
+ src/oresme/oresme.py
9
+ src/oresme.egg-info/PKG-INFO
10
+ src/oresme.egg-info/SOURCES.txt
11
+ src/oresme.egg-info/dependency_links.txt
12
+ src/oresme.egg-info/top_level.txt
13
+ tests/test_sample.py
@@ -0,0 +1 @@
1
+ oresme
@@ -0,0 +1,2 @@
1
+ def test_placeholder():
2
+ assert True