Optimus

Latest version: v2.1.0

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

2.4.8

2.1.0

**************************

Python compatibility
--------------------

* Removed support for Python 3.6 and 3.7;
* Added support for Python 3.10;

What’s new
----------

* Upgraded package setup to split dev dependencies in additional extra requirements;
* Upgraded package base dependencies to their latest versions;
* Updated documentations configurations;
* Updated Makefile to use colors in task outputs;
* Updated Pytest configuration to adopt the right verbose level to get back the old
"short resume information" layout (single line with error resumed without traceback);
* Changed template watcher so a Jinja exception for template error won't break the
watcher. Instead the watcher displays the full exception stacktrace, a notice about it
and then still continue to watch for another changes;
* Removed old useless Compass configuration file from test fixtures;
* Upgrade the project ``__init__.py`` file to use modern package info loader with
``importlib.metadata`` instead of deprecated ``pkg_resources``;

* Page view classes now have a ``datas`` attributes to define data files to
watch for triggering a build if they are modified;
* Page view datas can be defined from a method ``get_datas()`` instead of attribute
``datas``;
* View data is the only simple way for ``PageViewBase`` views to be watched (since
they don't naturally include templates or assets);
* Introduced new required settings ``DATAS_DIR`` to define path for the directory that
holds the view data files;
* Added context managers ``ResetSyspath`` and ``FlushSettings`` to replace test
fixtures ``reset_syspath`` and ``flush_settings`` in a better way;
* Added a logo;
* Upgraded documentation to Furo theme;
* Restructured and edited documentation for improvements;


Backwards incompatible changes
------------------------------

* Changed command ``init`` so the argument ``name`` is now a prompt option;
* Renamed some attributes and methods from ``PageRegistry``:

* ``elements`` has been renamed to ``templates``;
* ``get_pages_from_dependency`` has been renamed to ``get_pages_from_template``;
* ``map_dest_to_page`` has been renamed to ``destinations_pages_index``;

* Historical ``PageViewBase`` class does not implement anymore the template logic to
build page from a template:

* You can easily upgrade your existing page views to use
``optimus.pages.views.PageTemplateView`` instead that is the equivalent of the old
``PageViewBase``;
* ``PageViewBase`` class has been moved to ``optimus.pages.views.PageViewBase`` and
only implement basic stuff to render anything, it does not require anymore the
``template_name`` attribute and its ``render()`` method return empty string. If
you plan to use it to render a page without a template like a JSON view you will
need to implement the proper ``render()`` yourself.
* For compatibility the ``PageViewBase`` still requires the ``env`` argument on its
method ``render`` and ``introspect``;

2.0.1

**************************

A minor version only to update ``.readthedocs.yml`` file to follow service deprecations
changes.

2.0.0

**************************

**A major update with big refactoring and modern stack**

There are some backward incompatibility issues for projects created before this
version, also some part of core have changed.

* Remove support for Python3.5;
* Add support for Python 3.6 to 3.9;
* Fix a test for recent Babel version;
* Upgrade dependancies to recent versions and pin some other ones:

* ``click`` to ``>=7.1,<8.0``;
* ``Jinja`` to ``>=3.0.1,<4.0.0``;
* ``webassets`` to ``==2.0``;
* ``rcssmin`` to ``==1.0.6``;
* ``jsmin`` to ``==3.0.0``;
* ``colorama`` to ``==0.4.4``;
* ``colorlog`` to ``==6.4.1``;
* ``cookiecutter`` to ``==1.7.3``;

* Fix event watcher to use ported ``match_any_path`` instead of ``match_path`` from
deprecated ``pathtools``;
* Add frozen requirement file and freezer script. Frozen requirement file is updated
on each release, it may help you to know the exact dependancies versions validated
to work;
* Update package configuration;
* Add ``tox`` tool to dev requirements;
* Improve Makefile;
* Update sphinx configuration;
* Drop ``sphinx-autoreload`` in profit of ``livereload``;
* Add new setting ``HTTPS_ENABLED`` to enabled HTTPS protocol instead of
default HTTP in template context variable ``SITE.web_url``;
* Removed requirement and usage of ``six`` since this is a Python3 from some time;
* Replaced usage of deprecated ``imp`` usage with a new system with ``importlib``;
* Refactored project starter:

* Now stand on cookiecutter, actually pinned to the 1.7.3, until 2.x branch has
been released;
* Remove the dry run option which was only for debugging/testing;
* Ship only a basic cookiecutter template which is equivalent to the i18n previous
template;

* Added interfaces which are functional implementations of what CLI did but without
making importation and project settings so they can be used programmaticaly and
correctly tested;
* Now CLI used their respective interface to make their job;
* Fixed tests so they can work on CLI without to be troubled by other tests which
make importations of settings or views modules;
* Now all CLI are tested;
* Application and tests are 100% valid with Flake8;
* Updated documentation;

1.1.2

**************************

Add new setting ``JINJA_FILTERS`` to register additional template filters.

1.1.1

**************************

Fix invalid package classifiers in ``setup.cfg`` which blocked package release on Pypi.

Page 1 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.