Skip to content

Commit eae357e

Browse files
committed
skpkg: change version build file.
1 parent 3d87783 commit eae357e

File tree

3 files changed

+12
-75
lines changed

3 files changed

+12
-75
lines changed

src/diffpy/__init__.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,3 @@
1414
# See LICENSE.rst for license information.
1515
#
1616
##############################################################################
17-
"""diffpy - tools for structure analysis by diffraction.
18-
19-
Blank namespace package for module diffpy."""
20-
21-
22-
from pkgutil import extend_path
23-
24-
__path__ = extend_path(__path__, __name__)
25-
26-
# End of file

src/diffpy/pdffit2/__init__.py

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,10 @@
1616
##############################################################################
1717
"""PDFfit2 - real space structure refinement program."""
1818

19-
# WARNING: Do NOT remove the isort: off/on comments in this file.
20-
# These tags are used to prevent isort from reordering imports in this file.
21-
# __version__ must be initialized before importing C++ extensions.
19+
# package version
20+
from diffpy.pdffit2.version import __version__ # noqa
2221

23-
# isort: off
24-
# Import the package version before C++ extensions are loaded.
25-
from diffpy.pdffit2.output import redirect_stdout
26-
from diffpy.pdffit2.version import __date__, __version__
27-
28-
# Import C++ related modules since the __version__ attribute is used.
29-
from diffpy.pdffit2.pdffit import PdfFit
30-
from diffpy.pdffit2.pdffit2 import is_element
31-
32-
# isort: on
33-
34-
# Ensure all necessary components are imported and initialized
22+
# silence the pyflakes syntax checker
3523
assert __version__ or True
36-
assert __date__ or True
37-
assert all((PdfFit, redirect_stdout, is_element))
3824

3925
# End of file

src/diffpy/pdffit2/version.py

Lines changed: 9 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -7,59 +7,20 @@
77
# File coded by: Billinge Group members and community contributors.
88
#
99
# See GitHub contributions for a more detailed list of contributors.
10-
# https://github.com/diffpy/diffpy.pdffit2/graphs/contributors
10+
# https://github.com/diffpy/diffpy.pdffit2/graphs/contributors # noqa: E501
1111
#
1212
# See LICENSE.rst for license information.
1313
#
1414
##############################################################################
1515
"""Definition of __version__."""
1616

17-
import datetime
18-
import json
19-
import urllib.request
20-
from importlib.metadata import version
21-
from pathlib import Path
17+
# We do not use the other three variables, but can be added back if needed.
18+
# __all__ = ["__date__", "__git_commit__", "__timestamp__", "__version__"]
2219

20+
# obtain version information
21+
from importlib.metadata import PackageNotFoundError, version
2322

24-
def get_pypi_release_date(package_name, timeout=5):
25-
package_file = Path(__file__).resolve()
26-
27-
try:
28-
with open(package_file, "r", encoding="utf-8") as f:
29-
lines = f.readlines()
30-
for line in reversed(lines):
31-
if line.startswith("# Release date:"):
32-
return line.split(":", 1)[1].strip()
33-
34-
url = f"https://pypi.org/pypi/{package_name}/json"
35-
with urllib.request.urlopen(url, timeout=timeout) as response:
36-
data = json.loads(response.read().decode("utf-8"))
37-
38-
installed_version = version(package_name)
39-
release_data = data["releases"].get(installed_version, [])
40-
if not release_data:
41-
raise ValueError(
42-
f"No release data found for version {installed_version}"
43-
)
44-
45-
release_date_str = release_data[-1]["upload_time"]
46-
release_date = datetime.datetime.fromisoformat(release_date_str).date()
47-
48-
with open(package_file, "a", encoding="utf-8") as f:
49-
f.write(f"\n# Release date: {release_date}")
50-
51-
except (ValueError, OSError) as e:
52-
print(f"Warning: Could not fetch release date from PyPI: {e}")
53-
release_date = datetime.datetime.fromtimestamp(
54-
package_file.stat().st_ctime
55-
).isoformat()
56-
57-
return str(release_date)
58-
59-
60-
__version__ = version("diffpy.pdffit2")
61-
__date__ = get_pypi_release_date("diffpy.pdffit2")
62-
63-
# End of file
64-
65-
# Release date: 2025-02-07
23+
try:
24+
__version__ = version("diffpy.pdffit2")
25+
except PackageNotFoundError:
26+
__version__ = "unknown"

0 commit comments

Comments
 (0)