Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

python-Axiom-0.7.3-bp153.1.17 RPM for noarch

From OpenSuSE Leap 15.3 for noarch

Name: python-Axiom Distribution: SUSE Linux Enterprise 15 SP3
Version: 0.7.3 Vendor: openSUSE
Release: bp153.1.17 Build date: Sat Mar 6 11:00:07 2021
Group: Development/Languages/Python Build host: sheep83
Size: 1675488 Source RPM: python-Axiom-0.7.3-bp153.1.17.src.rpm
Packager: https://bugs.opensuse.org
Url: https://github.com/twisted/axiom
Summary: An in-process object-relational database
A small utility package that depends on tools too recent for Twisted (like
datetime in python2.4) but performs generic enough functions that it can be
used in projects that don't want to share Divmod's other projects' large
footprint.

Currently included:

    * A powerful date/time formatting and import/export class (ExtimeDotTime),
      for exchanging date and time information between all Python's various
      ways to interpret objects as times or time deltas.
    * Tools for managing concurrent asynchronous processes within Twisted.
    * A metaclass which helps you define classes with explicit states.
    * A featureful Version class.
    * A formal system for application of monkey-patches.

Provides

Requires

License

MIT

Changelog

* Tue Apr 21 2015 benoit.monin@gmx.fr
  - update to 0.7.3:
    * Fix another major issue involving a bad interaction between
      legacy items (mainly in upgraders), and object lifetimes
  - additional changes from version 0.7.2:
    * Fix a major issue involving a bad interaction between weakref
      semantics and the item cache
  - additional changes from version 0.7.1:
    * Fix some packaging issues that led to some important files
      being missing from the 0.7.0 release
    * Uses of the deprecated unsignedID and isWinNT Twisted APIs have
      been removed
  - additional changes from version 0.7.0:
    * Only Python 2.6 and 2.7 are supported now. 2.4, 2.5 is
      deprecated
    * setup.py now uses setuptools, and stores its dependencies.
      This means you no longer need to manually install dependencies
    * setup.py no longer requires Epsilon for egg_info, making it
      easier to install Axiom using pip.
    * Significant improvements to PyPy support. PyPy is now a
      supported platform, with CI support.
    * Axiom now uses the stdlib sqlite3 if pysqlite2 is not available
    * Passing a string to SubStore.createNew now raises an exception
      instead of silently almost certainly doing the wrong thing
    * Setting an integer value that is too negative will now raise
      an exception
    * __conform__ (interface adaptation) now also works for items
      that are not in a store
    * Starting the store service now automatically activates the
      scheduler service as well
    * Batch processing can now be triggered by adding remote work
    * Startup performance for stores with many legacy type
      declarations is improved
    * Several benchmarks were added
    * Many internal cleanups
  - update URL to project home page
  - add %{version} in Source URL
  - update Epsilon and Twisted version requirement
  - add setuptools as a new build requirement
  - add LICENSE and README.txt to package documentation
  - fix end-of-line in NAME.txt
  - remove deleted dropin* from package files
* Tue Aug 07 2012 toddrme2178@gmail.com
  - Fix requires
* Tue Jul 31 2012 saschpe@suse.de
  - Spec file cleanup:
    + Use group Development/Languages/Python
    + Drop awesomely old Fedora specifics
* Sun Jul 01 2012 dimstar@opensuse.org
  - Initial package, version 0.6.0. Work based on Mauricio Teixeira's
    Spec file.

Files

/usr/bin/axiomatic
/usr/lib/python2.7/site-packages/Axiom-0.7.3-py2.7.egg-info
/usr/lib/python2.7/site-packages/Axiom-0.7.3-py2.7.egg-info/PKG-INFO
/usr/lib/python2.7/site-packages/Axiom-0.7.3-py2.7.egg-info/SOURCES.txt
/usr/lib/python2.7/site-packages/Axiom-0.7.3-py2.7.egg-info/dependency_links.txt
/usr/lib/python2.7/site-packages/Axiom-0.7.3-py2.7.egg-info/requires.txt
/usr/lib/python2.7/site-packages/Axiom-0.7.3-py2.7.egg-info/top_level.txt
/usr/lib/python2.7/site-packages/axiom
/usr/lib/python2.7/site-packages/axiom/__init__.py
/usr/lib/python2.7/site-packages/axiom/__init__.pyc
/usr/lib/python2.7/site-packages/axiom/_fincache.py
/usr/lib/python2.7/site-packages/axiom/_fincache.pyc
/usr/lib/python2.7/site-packages/axiom/_pysqlite2.py
/usr/lib/python2.7/site-packages/axiom/_pysqlite2.pyc
/usr/lib/python2.7/site-packages/axiom/_schema.py
/usr/lib/python2.7/site-packages/axiom/_schema.pyc
/usr/lib/python2.7/site-packages/axiom/_version.py
/usr/lib/python2.7/site-packages/axiom/_version.pyc
/usr/lib/python2.7/site-packages/axiom/attributes.py
/usr/lib/python2.7/site-packages/axiom/attributes.pyc
/usr/lib/python2.7/site-packages/axiom/batch.py
/usr/lib/python2.7/site-packages/axiom/batch.pyc
/usr/lib/python2.7/site-packages/axiom/batch.tac
/usr/lib/python2.7/site-packages/axiom/dependency.py
/usr/lib/python2.7/site-packages/axiom/dependency.pyc
/usr/lib/python2.7/site-packages/axiom/errors.py
/usr/lib/python2.7/site-packages/axiom/errors.pyc
/usr/lib/python2.7/site-packages/axiom/examples
/usr/lib/python2.7/site-packages/axiom/examples/bucket.py
/usr/lib/python2.7/site-packages/axiom/examples/bucket.pyc
/usr/lib/python2.7/site-packages/axiom/examples/library.py
/usr/lib/python2.7/site-packages/axiom/examples/library.pyc
/usr/lib/python2.7/site-packages/axiom/iaxiom.py
/usr/lib/python2.7/site-packages/axiom/iaxiom.pyc
/usr/lib/python2.7/site-packages/axiom/item.py
/usr/lib/python2.7/site-packages/axiom/item.pyc
/usr/lib/python2.7/site-packages/axiom/listversions.py
/usr/lib/python2.7/site-packages/axiom/listversions.pyc
/usr/lib/python2.7/site-packages/axiom/plugins
/usr/lib/python2.7/site-packages/axiom/plugins/__init__.py
/usr/lib/python2.7/site-packages/axiom/plugins/__init__.pyc
/usr/lib/python2.7/site-packages/axiom/plugins/axiom_plugins.py
/usr/lib/python2.7/site-packages/axiom/plugins/axiom_plugins.pyc
/usr/lib/python2.7/site-packages/axiom/queryutil.py
/usr/lib/python2.7/site-packages/axiom/queryutil.pyc
/usr/lib/python2.7/site-packages/axiom/scheduler.py
/usr/lib/python2.7/site-packages/axiom/scheduler.pyc
/usr/lib/python2.7/site-packages/axiom/scripts
/usr/lib/python2.7/site-packages/axiom/scripts/__init__.py
/usr/lib/python2.7/site-packages/axiom/scripts/__init__.pyc
/usr/lib/python2.7/site-packages/axiom/scripts/axiomatic.py
/usr/lib/python2.7/site-packages/axiom/scripts/axiomatic.pyc
/usr/lib/python2.7/site-packages/axiom/scripts/pysql.py
/usr/lib/python2.7/site-packages/axiom/scripts/pysql.pyc
/usr/lib/python2.7/site-packages/axiom/sequence.py
/usr/lib/python2.7/site-packages/axiom/sequence.pyc
/usr/lib/python2.7/site-packages/axiom/slotmachine.py
/usr/lib/python2.7/site-packages/axiom/slotmachine.pyc
/usr/lib/python2.7/site-packages/axiom/store.py
/usr/lib/python2.7/site-packages/axiom/store.pyc
/usr/lib/python2.7/site-packages/axiom/substore.py
/usr/lib/python2.7/site-packages/axiom/substore.pyc
/usr/lib/python2.7/site-packages/axiom/tags.py
/usr/lib/python2.7/site-packages/axiom/tags.pyc
/usr/lib/python2.7/site-packages/axiom/test
/usr/lib/python2.7/site-packages/axiom/test/__init__.py
/usr/lib/python2.7/site-packages/axiom/test/__init__.pyc
/usr/lib/python2.7/site-packages/axiom/test/brokenapp.py
/usr/lib/python2.7/site-packages/axiom/test/brokenapp.pyc
/usr/lib/python2.7/site-packages/axiom/test/cursortest.py
/usr/lib/python2.7/site-packages/axiom/test/cursortest.pyc
/usr/lib/python2.7/site-packages/axiom/test/deleteswordapp.py
/usr/lib/python2.7/site-packages/axiom/test/deleteswordapp.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic
/usr/lib/python2.7/site-packages/axiom/test/historic/__init__.py
/usr/lib/python2.7/site-packages/axiom/test/historic/__init__.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/account1to2.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/historic/catalog1to2.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/historic/loginMethod1to2.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/historic/manhole1to2.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/historic/parentHook2to3.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/historic/parentHook3to4.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/historic/processor1to2.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/historic/scheduler1to2.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_account1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_account1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_catalog1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_catalog1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_loginMethod1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_loginMethod1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_manhole1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_manhole1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_parentHook2to3.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_parentHook2to3.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_parentHook3to4.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_parentHook3to4.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_processor1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_processor1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_scheduler1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_scheduler1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_subStoreStartupService1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_subStoreStartupService1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_subscheduler1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_subscheduler1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_textlist.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stub_textlist.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/stubloader.py
/usr/lib/python2.7/site-packages/axiom/test/historic/stubloader.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/subStoreStartupService1to2.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/historic/subscheduler1to2.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/historic/test_account1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_account1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/test_catalog1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_catalog1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/test_loginMethod1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_loginMethod1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/test_manhole1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_manhole1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/test_parentHook2to3.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_parentHook2to3.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/test_parentHook3to4.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_parentHook3to4.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/test_processor1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_processor1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/test_scheduler1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_scheduler1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/test_subStoreStartupService1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_subStoreStartupService1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/test_subscheduler1to2.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_subscheduler1to2.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/test_textlist.py
/usr/lib/python2.7/site-packages/axiom/test/historic/test_textlist.pyc
/usr/lib/python2.7/site-packages/axiom/test/historic/textlist.axiom.tbz2
/usr/lib/python2.7/site-packages/axiom/test/itemtest.py
/usr/lib/python2.7/site-packages/axiom/test/itemtest.pyc
/usr/lib/python2.7/site-packages/axiom/test/itemtestmain.py
/usr/lib/python2.7/site-packages/axiom/test/itemtestmain.pyc
/usr/lib/python2.7/site-packages/axiom/test/morenewapp.py
/usr/lib/python2.7/site-packages/axiom/test/morenewapp.pyc
/usr/lib/python2.7/site-packages/axiom/test/newapp.py
/usr/lib/python2.7/site-packages/axiom/test/newapp.pyc
/usr/lib/python2.7/site-packages/axiom/test/newcirc.py
/usr/lib/python2.7/site-packages/axiom/test/newcirc.pyc
/usr/lib/python2.7/site-packages/axiom/test/newobsolete.py
/usr/lib/python2.7/site-packages/axiom/test/newobsolete.pyc
/usr/lib/python2.7/site-packages/axiom/test/newpath.py
/usr/lib/python2.7/site-packages/axiom/test/newpath.pyc
/usr/lib/python2.7/site-packages/axiom/test/oldapp.py
/usr/lib/python2.7/site-packages/axiom/test/oldapp.pyc
/usr/lib/python2.7/site-packages/axiom/test/oldcirc.py
/usr/lib/python2.7/site-packages/axiom/test/oldcirc.pyc
/usr/lib/python2.7/site-packages/axiom/test/oldobsolete.py
/usr/lib/python2.7/site-packages/axiom/test/oldobsolete.pyc
/usr/lib/python2.7/site-packages/axiom/test/oldpath.py
/usr/lib/python2.7/site-packages/axiom/test/oldpath.pyc
/usr/lib/python2.7/site-packages/axiom/test/onestepapp.py
/usr/lib/python2.7/site-packages/axiom/test/onestepapp.pyc
/usr/lib/python2.7/site-packages/axiom/test/openthenload.py
/usr/lib/python2.7/site-packages/axiom/test/openthenload.pyc
/usr/lib/python2.7/site-packages/axiom/test/path_postcopy.py
/usr/lib/python2.7/site-packages/axiom/test/path_postcopy.pyc
/usr/lib/python2.7/site-packages/axiom/test/reactorimporthelper.py
/usr/lib/python2.7/site-packages/axiom/test/reactorimporthelper.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_attributes.py
/usr/lib/python2.7/site-packages/axiom/test/test_attributes.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_axiomatic.py
/usr/lib/python2.7/site-packages/axiom/test/test_axiomatic.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_batch.py
/usr/lib/python2.7/site-packages/axiom/test/test_batch.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_count.py
/usr/lib/python2.7/site-packages/axiom/test/test_count.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_crossstore.py
/usr/lib/python2.7/site-packages/axiom/test/test_crossstore.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_dependency.py
/usr/lib/python2.7/site-packages/axiom/test/test_dependency.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_files.py
/usr/lib/python2.7/site-packages/axiom/test/test_files.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_fincache.py
/usr/lib/python2.7/site-packages/axiom/test/test_fincache.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_inheritance.py
/usr/lib/python2.7/site-packages/axiom/test/test_inheritance.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_item.py
/usr/lib/python2.7/site-packages/axiom/test/test_item.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_listversions.py
/usr/lib/python2.7/site-packages/axiom/test/test_listversions.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_mixin.py
/usr/lib/python2.7/site-packages/axiom/test/test_mixin.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_paginate.py
/usr/lib/python2.7/site-packages/axiom/test/test_paginate.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_powerup.py
/usr/lib/python2.7/site-packages/axiom/test/test_powerup.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_pysqlite2.py
/usr/lib/python2.7/site-packages/axiom/test/test_pysqlite2.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_query.py
/usr/lib/python2.7/site-packages/axiom/test/test_query.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_queryutil.py
/usr/lib/python2.7/site-packages/axiom/test/test_queryutil.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_reference.py
/usr/lib/python2.7/site-packages/axiom/test/test_reference.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_reprs.py
/usr/lib/python2.7/site-packages/axiom/test/test_reprs.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_scheduler.py
/usr/lib/python2.7/site-packages/axiom/test/test_scheduler.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_sequence.py
/usr/lib/python2.7/site-packages/axiom/test/test_sequence.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_slotmachine.py
/usr/lib/python2.7/site-packages/axiom/test/test_slotmachine.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_substore.py
/usr/lib/python2.7/site-packages/axiom/test/test_substore.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_tablecreate.py
/usr/lib/python2.7/site-packages/axiom/test/test_tablecreate.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_tags.py
/usr/lib/python2.7/site-packages/axiom/test/test_tags.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_unavailable_type.py
/usr/lib/python2.7/site-packages/axiom/test/test_unavailable_type.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_upgrading.py
/usr/lib/python2.7/site-packages/axiom/test/test_upgrading.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_userbase.py
/usr/lib/python2.7/site-packages/axiom/test/test_userbase.pyc
/usr/lib/python2.7/site-packages/axiom/test/test_xatop.py
/usr/lib/python2.7/site-packages/axiom/test/test_xatop.pyc
/usr/lib/python2.7/site-packages/axiom/test/toonewapp.py
/usr/lib/python2.7/site-packages/axiom/test/toonewapp.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/__init__.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/__init__.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/override_init_new.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/override_init_new.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/override_init_old.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/override_init_old.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/reentrant_new.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/reentrant_new.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/reentrant_old.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/reentrant_old.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/replace_attribute_new.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/replace_attribute_new.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/replace_attribute_old.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/replace_attribute_old.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/replace_delete_new.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/replace_delete_new.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/replace_delete_old.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/replace_delete_old.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/two_upgrades_new.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/two_upgrades_new.pyc
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/two_upgrades_old.py
/usr/lib/python2.7/site-packages/axiom/test/upgrade_fixtures/two_upgrades_old.pyc
/usr/lib/python2.7/site-packages/axiom/test/util.py
/usr/lib/python2.7/site-packages/axiom/test/util.pyc
/usr/lib/python2.7/site-packages/axiom/upgrade.py
/usr/lib/python2.7/site-packages/axiom/upgrade.pyc
/usr/lib/python2.7/site-packages/axiom/userbase.py
/usr/lib/python2.7/site-packages/axiom/userbase.pyc
/usr/lib/python2.7/site-packages/twisted
/usr/lib/python2.7/site-packages/twisted/plugins
/usr/lib/python2.7/site-packages/twisted/plugins/axiom_plugins.py
/usr/lib/python2.7/site-packages/twisted/plugins/axiom_plugins.pyc
/usr/share/doc/packages/python-Axiom
/usr/share/doc/packages/python-Axiom/LICENSE
/usr/share/doc/packages/python-Axiom/NAME.txt
/usr/share/doc/packages/python-Axiom/README.txt


Generated by rpm2html 1.8.1

Fabrice Bellet, Tue Apr 9 14:50:04 2024