Advanced Python Scheduler (APScheduler) is a Python library that lets
you schedule your Python code to be executed later, either just once
or periodically. You can add new jobs or remove old ones on the fly as
you please. If you store your jobs in a database, they will also
survive scheduler restarts and maintain their state. When the
scheduler is restarted, it will then run all the jobs it should have
run while it was offline.
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py312-APScheduler listed in the above command, you can pick from the names under the Packages section.
devel/py-setuptools-scm: update to 8.0.4
Directory and PORTNAME changed to match normalised name in release
tarball; consumers updated to match.
Although setuptools itself is specified as a run dependency in the
Python package metadata, it is currently left out here to prevent
environment pollution until at least PR 270510 is committed.
Additionally, this version of setuptools-scm requires setuptools>=61,
which means this version is only meant for USE_PYTHON=pep517 ports
as all USE_PYTHON=distutils ports will switch to devel/py-setuptools58
also after PR 270510. science/py-emmet-core is switched to
devel/py-setuptools_scm7 accordingly, as it specifies setuptools-scm<8.
devel/py-{flit-scm,hatch-vcs} have ${PY_SETUPTOOLS} added to
RUN_DEPENDS to compensate.
Further details: https://wiki.freebsd.org/Python/setuptools
Reported by: yuri
Co-authored by: matthew
Exp-run by: antoine (earlier iteration)
Approved by: yuri (science/py-emmet-core, previous iteration)
PR: 272134
Differential Revision: https://reviews.freebsd.org/D39288
devel/py-apscheduler: unbreak with python < 3.10 after b7427cd82ccf
$ make test
[...]
ImportError while loading conftest 'APScheduler-3.10.2/tests/conftest.py'.
tests/conftest.py:8: in <module>
from apscheduler.schedulers.base import BaseScheduler
apscheduler/schedulers/base.py:46: in <module>
class BaseScheduler(six.with_metaclass(ABCMeta)):
apscheduler/schedulers/base.py:75: in BaseScheduler
_trigger_plugins = {ep.name: ep for ep in
entry_points(group='apscheduler.triggers')}
E TypeError: entry_points() got an unexpected keyword argument 'group'
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
devel/py-apscheduler: drop all pytest workarounds after 2ada39de05b1
______________________________________________
TestProcessJobs.test_nonexistent_executor
_______________________________________________
self = <tests.test_schedulers.TestProcessJobs object at 0x878ac2880>
scheduler = <tests.test_schedulers.DummyScheduler object at 0x895538460>,
jobstore = <MagicMock spec='BaseJobStore' id='36865062272'>
caplog = <_pytest.logging.LogCaptureFixture object at 0x89480f130>
def test_nonexistent_executor(self, scheduler, jobstore, caplog):
"""
Test that an error is logged and the job is removed from its job store
if its executor is
not found.
"""
> caplog.setLevel(logging.ERROR)
(Only the first 15 lines of the commit message are shown above )
devel/py-apscheduler: unbreak with pytest >= 6 after f1d506505d6c
$ make test
[...]
===> py38-apscheduler-3.9.1 depends on package: py38-pytest>=3.3<6 - not found
*** Error code 1
https://github.com/agronholm/apscheduler/commit/4ded0dceb05a
Follow up on devel/py-futures port removal in r559976
The devel/py-futures port was removed in r559976 as it was for
Python 2.7 only and no longer referenced in the default cases.
However it was still defined in Mk/Uses/python.mk in PY_FUTURES,
leaving a dangling reference.
Remove it from Mk/Uses/python.mk and from affected ports, as
it was already an empty definition for Python 3.6+
Bump minimal Python version of security/theonionbox to 3.6+
devel/py-apscheduler: bump pytest version requirment
$ make test
[...]
=============================== warnings summary ===============================
<undetermined location>
pytest-capturelog plugin has been merged into the core, please remove it from
your requirements.
Switch all pypi.python.org WWWs to a new PyPi home pypi.org where
they now redirect to anyway. All new urls checked to return 200,
I've fixed a couple of them in the process.
Approved by: portmgr blanket, mat
Convert Python ports to FLAVORS.
Ports using USE_PYTHON=distutils are now flavored. They will
automatically get flavors (py27, py34, py35, py36) depending on what
versions they support.
There is also a USE_PYTHON=flavors for ports that do not use distutils
but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if
using distutils but flavors are not wanted.
A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
added to cope with Python ports that did not have the Python
PKGNAMEPREFIX but are flavored.
USES=python now also exports a PY_FLAVOR variable that contains the
(Only the first 15 lines of the commit message are shown above )
Invoke pytest from within desired python version
When testing a port for a non-default python py.test may fail to find
dependencies for default version because they weren't built e.g.,
$ make test PYTHON_VERSION=python3.5 -C devel/py-apscheduler
[...]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/_pytest/config.py", line 319, in
_importconftest
mod = conftestpath.pyimport()
File "/usr/local/lib/python3.5/site-packages/py/_path/local.py", line 650, in
pyimport
__import__(modname)
File
"/usr/ports/devel/py-apscheduler/work/APScheduler-3.2.0/tests/conftest.py", line
8, in <module>
from apscheduler.job import Job
File
"/usr/ports/devel/py-apscheduler/work/APScheduler-3.2.0/apscheduler/job.py",
line 4, in <module>
import six
ImportError: No module named 'six'
ERROR: could not load
/usr/ports/devel/py-apscheduler/work/APScheduler-3.2.0/tests/conftest.py
Approved by: portmgr blanket
devel/py-apscheduler: add new port
Advanced Python Scheduler (APScheduler) is a Python library that lets
you schedule your Python code to be executed later, either just once
or periodically. You can add new jobs or remove old ones on the fly as
you please. If you store your jobs in a database, they will also
survive scheduler restarts and maintain their state. When the
scheduler is restarted, it will then run all the jobs it should have
run while it was offline.
https://pypi.python.org/pypi/APScheduler
Approved by: wg (maintainer)
Differential Revision: https://reviews.freebsd.org/D3566