pyobjc-framework-FileProvider 10.3.1__tar.gz → 10.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.

Potentially problematic release.


This version of pyobjc-framework-FileProvider might be problematic. Click here for more details.

Files changed (44) hide show
  1. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Lib/pyobjc_framework_FileProvider.egg-info/PKG-INFO +3 -3
  2. pyobjc_framework_fileprovider-10.3.2/Lib/pyobjc_framework_FileProvider.egg-info/requires.txt +2 -0
  3. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Modules/_FileProvider.m +2 -0
  4. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PKG-INFO +3 -3
  5. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/pyobjc_setup.py +62 -22
  6. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/setup.py +1 -1
  7. pyobjc_framework_fileprovider-10.3.1/Lib/pyobjc_framework_FileProvider.egg-info/requires.txt +0 -2
  8. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Lib/FileProvider/__init__.py +0 -0
  9. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Lib/FileProvider/_metadata.py +0 -0
  10. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Lib/pyobjc_framework_FileProvider.egg-info/SOURCES.txt +0 -0
  11. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Lib/pyobjc_framework_FileProvider.egg-info/dependency_links.txt +0 -0
  12. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Lib/pyobjc_framework_FileProvider.egg-info/not-zip-safe +0 -0
  13. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Lib/pyobjc_framework_FileProvider.egg-info/top_level.txt +0 -0
  14. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/License.txt +0 -0
  15. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/MANIFEST.in +0 -0
  16. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Modules/_FileProvider_protocols.m +0 -0
  17. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Modules/pyobjc-api.h +0 -0
  18. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/Modules/pyobjc-compat.h +0 -0
  19. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/__init__.py +0 -0
  20. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_fileprovider.py +0 -0
  21. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileprovideractions.py +0 -0
  22. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileproviderdomain.py +0 -0
  23. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileproviderenumerating.py +0 -0
  24. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileprovidererror.py +0 -0
  25. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileproviderextension.py +0 -0
  26. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileprovideritem.py +0 -0
  27. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileprovideritemdecoration.py +0 -0
  28. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileprovidermanager.py +0 -0
  29. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileproviderreplicatedextension.py +0 -0
  30. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileproviderrequest.py +0 -0
  31. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileproviderservice.py +0 -0
  32. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileprovidertesting.py +0 -0
  33. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/PyObjCTest/test_nsfileproviderthumbnailing.py +0 -0
  34. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/metadata/FileProvider.fwinfo +0 -0
  35. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/metadata/metadata.ini +0 -0
  36. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/metadata/raw/arm64-12.3.fwinfo +0 -0
  37. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/metadata/raw/arm64-13.3.fwinfo +0 -0
  38. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/metadata/raw/arm64-14.5.fwinfo +0 -0
  39. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/metadata/raw/x86_64-10.16.fwinfo +0 -0
  40. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/metadata/raw/x86_64-12.3.fwinfo +0 -0
  41. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/metadata/raw/x86_64-13.3.fwinfo +0 -0
  42. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/metadata/raw/x86_64-14.5.fwinfo +0 -0
  43. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/pyproject.toml +0 -0
  44. {pyobjc_framework_fileprovider-10.3.1 → pyobjc_framework_fileprovider-10.3.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyobjc-framework-FileProvider
3
- Version: 10.3.1
3
+ Version: 10.3.2
4
4
  Summary: Wrappers for the framework FileProvider on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -30,8 +30,8 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
30
  Classifier: Topic :: Software Development :: User Interfaces
31
31
  Requires-Python: >=3.8
32
32
  Description-Content-Type: text/x-rst; charset=UTF-8
33
- Requires-Dist: pyobjc-core>=10.3.1
34
- Requires-Dist: pyobjc-framework-Cocoa>=10.3.1
33
+ Requires-Dist: pyobjc-core>=10.3.2
34
+ Requires-Dist: pyobjc-framework-Cocoa>=10.3.2
35
35
  Project-URL: Documentation, https://pyobjc.readthedocs.io/en/latest/
36
36
  Project-URL: Issue tracker, https://github.com/ronaldoussoren/pyobjc/issues
37
37
  Project-URL: Repository, https://github.com/ronaldoussoren/pyobjc
@@ -0,0 +1,2 @@
1
+ pyobjc-core>=10.3.2
2
+ pyobjc-framework-Cocoa>=10.3.2
@@ -1,4 +1,6 @@
1
+ #ifndef PyObjC_GIL_DISABLED
1
2
  #define Py_LIMITED_API 0x03060000
3
+ #endif
2
4
  #define PY_SSIZE_T_CLEAN
3
5
  #include "Python.h"
4
6
  #include "pyobjc-api.h"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyobjc-framework-FileProvider
3
- Version: 10.3.1
3
+ Version: 10.3.2
4
4
  Summary: Wrappers for the framework FileProvider on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -30,8 +30,8 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
30
  Classifier: Topic :: Software Development :: User Interfaces
31
31
  Requires-Python: >=3.8
32
32
  Description-Content-Type: text/x-rst; charset=UTF-8
33
- Requires-Dist: pyobjc-core>=10.3.1
34
- Requires-Dist: pyobjc-framework-Cocoa>=10.3.1
33
+ Requires-Dist: pyobjc-core>=10.3.2
34
+ Requires-Dist: pyobjc-framework-Cocoa>=10.3.2
35
35
 
36
36
 
37
37
  Wrappers for the "FileProvider" framework on macOS.
@@ -22,11 +22,12 @@ import sys
22
22
  import tempfile
23
23
  import time
24
24
  import unittest
25
+ from fnmatch import fnmatch
25
26
  from sysconfig import get_config_var, get_config_vars
26
27
  from setuptools import Command
27
28
  from setuptools import Extension as _Extension
28
29
  from setuptools import setup as _setup
29
- from setuptools.command import build_ext, build_py, develop, egg_info, install_lib, test
30
+ from setuptools.command import build_ext, build_py, develop, egg_info, install_lib
30
31
 
31
32
  from distutils import log
32
33
  from distutils.errors import DistutilsError, DistutilsPlatformError
@@ -84,18 +85,14 @@ class oc_egg_info(egg_info.egg_info):
84
85
  fp.write(last)
85
86
 
86
87
 
87
- class oc_test(test.test):
88
+ class oc_test(Command):
88
89
  description = "run test suite"
89
- user_options = test.test.user_options + [
90
- ("verbosity=", None, "print what tests are run")
91
- ]
90
+ user_options = [("verbosity=", None, "print what tests are run")]
92
91
 
93
92
  def initialize_options(self):
94
- test.test.initialize_options(self)
95
93
  self.verbosity = "1"
96
94
 
97
95
  def finalize_options(self):
98
- test.test.finalize_options(self)
99
96
  if isinstance(self.verbosity, str):
100
97
  self.verbosity = int(self.verbosity)
101
98
 
@@ -154,18 +151,14 @@ class oc_test(test.test):
154
151
  self.cleanup_environment()
155
152
  self.add_project_to_sys_path()
156
153
 
157
- from pkg_resources import EntryPoint
158
-
159
- loader_ep = EntryPoint.parse("x=" + self.test_loader)
160
- loader_class = loader_ep.resolve()
161
-
162
154
  import warnings
163
155
 
164
156
  warnings.simplefilter("error")
157
+ warnings.filterwarnings("ignore", message=".*GIL.*", category=RuntimeWarning)
165
158
 
166
159
  try:
167
160
  time_before = time.time()
168
- suite = loader_class().loadTestsFromName(self.distribution.test_suite)
161
+ suite = makeTestSuite()
169
162
 
170
163
  if self.verbose and self.verbosity < 3:
171
164
  runner = unittest.TextTestRunner(verbosity=3)
@@ -511,21 +504,17 @@ def Extension(*args, **kwds):
511
504
  % (tuple(map(int, os_level.split(".")[:2])))
512
505
  )
513
506
 
514
- # XCode 15 has a bug w.r.t. weak linking for older macOS versions,
515
- # fall back to older linker when using that compiler.
516
- # XXX: This should be in _fixup_compiler but doesn't work there...
517
- lines = subprocess.check_output(["xcodebuild", "-version"], text=True).splitlines()
518
- if lines[0].startswith("Xcode"):
519
- xcode_vers = int(lines[0].split()[-1].split(".")[0])
520
- if xcode_vers >= 15:
521
- ldflags.append("-Wl,-ld_classic")
522
-
523
507
  if os_level == "10.4":
524
508
  cflags.append("-DNO_OBJC2_RUNTIME")
525
509
 
526
510
  if "-Werror" not in cflags:
527
511
  cflags.append("-Werror")
528
512
 
513
+ if get_config_var("Py_GIL_DISABLED"):
514
+ cflags.append("-DPyObjC_GIL_DISABLED")
515
+ if "py_limited_api" in kwds:
516
+ del kwds["py_limited_api"]
517
+
529
518
  if "extra_compile_args" in kwds:
530
519
  kwds["extra_compile_args"] = kwds["extra_compile_args"] + cflags
531
520
  else:
@@ -618,6 +607,10 @@ def setup(min_os_level=None, max_os_level=None, cmdclass=None, **kwds):
618
607
  # No extension modules, can build universal wheel
619
608
  k["options"] = {"bdist_wheel": {"universal": 1}}
620
609
 
610
+ if "options" in k and "bdist_wheel" in k["options"]:
611
+ if get_config_var("Py_GIL_DISABLED"):
612
+ del k["options"]["bdist_wheel"]
613
+
621
614
  plat_name = "MacOS X"
622
615
  plat_versions = []
623
616
  if min_os_level is not None and min_os_level == max_os_level:
@@ -675,3 +668,50 @@ def setup(min_os_level=None, max_os_level=None, cmdclass=None, **kwds):
675
668
  keywords=["PyObjC"] + [p for p in k["packages"] if p not in ("PyObjCTools",)],
676
669
  **k,
677
670
  )
671
+
672
+
673
+ def recursiveGlob(root, pathPattern):
674
+ """
675
+ Recursively look for files matching 'pathPattern'. Return a list
676
+ of matching files/directories.
677
+ """
678
+ result = []
679
+
680
+ for rootpath, _dirnames, filenames in os.walk(root):
681
+ for fn in filenames:
682
+ if fnmatch(fn, pathPattern):
683
+ result.append(os.path.join(rootpath, fn))
684
+ return result
685
+
686
+
687
+ def importExternalTestCases(pathPattern="test_*.py", root=".", package=None):
688
+ """
689
+ Import all unittests in the PyObjC tree starting at 'root'
690
+ """
691
+ testFiles = recursiveGlob(root, pathPattern)
692
+ testModules = [x[len(root) + 1 : -3].replace("/", ".") for x in testFiles]
693
+ if package is not None:
694
+ testModules = [(package + "." + m) for m in testModules]
695
+ suites = []
696
+ for modName in testModules:
697
+ try:
698
+ module = __import__(modName)
699
+ except ImportError as msg:
700
+ print(f"SKIP {modName}: {msg}")
701
+ continue
702
+ if "." in modName:
703
+ for elem in modName.split(".")[1:]:
704
+ module = getattr(module, elem)
705
+ s = unittest.defaultTestLoader.loadTestsFromModule(module)
706
+ suites.append(s)
707
+ return unittest.TestSuite(suites)
708
+
709
+
710
+ gTopdir = os.path.dirname(__file__)
711
+
712
+
713
+ def makeTestSuite():
714
+ plain_suite = importExternalTestCases(
715
+ "test_*.py", os.path.join(gTopdir, "PyObjCTest"), package="PyObjCTest"
716
+ )
717
+ return plain_suite
@@ -15,7 +15,7 @@ sys.path.insert(0, os.path.dirname(__file__))
15
15
 
16
16
  from pyobjc_setup import setup, Extension # noqa: E402
17
17
 
18
- VERSION = "10.3.1"
18
+ VERSION = "10.3.2"
19
19
 
20
20
  setup(
21
21
  name="pyobjc-framework-FileProvider",
@@ -1,2 +0,0 @@
1
- pyobjc-core>=10.3.1
2
- pyobjc-framework-Cocoa>=10.3.1