Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
A Python library for general purpose object factories. In particular, it focuses on dynamic object factory implementations where objects can be registered dynamically without changing the code of the factory. An object factory can be used to instantiate an object from its configuration. The current implementation contains both abstract factory and registry approaches.
factory
>>> from objectory import factory
>>> obj = factory("builtins.list")
>>> print(obj)
[]
>>> from objectory import AbstractFactory
>>> class BaseClass(metaclass=AbstractFactory):
... pass
...
>>> class MyClass(BaseClass):
... pass
...
>>> obj = BaseClass.factory("MyClass")
>>> print(obj)
<__main__.MyClass object at 0x...>
>>> from objectory import Registry
>>> registry = Registry()
>>> @registry.register()
... class MyClass:
... pass
...
>>> obj = registry.factory("MyClass")
>>> print(obj)
<__main__.MyClass object at 0x...>
Please read the documentation to learn more about these approaches.
We highly recommend installing
a virtual environment.
objectory
can be installed from pip using the following command:
pip install objectory
It is highly recommended to use the last stable version available.
Please check the get started page to see other
alternatives to install the library.
The following is the corresponding objectory
versions and supported dependencies.
objectory | tornado | python |
---|---|---|
main | >=6.0,<7.0 | >=3.9,<3.14 |
0.2.0 | >=6.0,<7.0 | >=3.9,<3.14 |
0.1.2 | >=6.0,<7.0 | >=3.9,<3.13 |
0.1.1 | >=6.0,<7.0 | >=3.9,<3.13 |
0.1.0 | >=6.0,<7.0 | >=3.9,<3.13 |
0.0.9 | >=6.0,<7.0 | >=3.9,<3.13 |
0.0.8 | >=6.0,<7.0 | >=3.9,<3.13 |
0.0.7 | >=6.0,<7.0 | >=3.9,<3.12 |
Please check the instructions in CONTRIBUTING.md.
:warning: While objectory
is in development stage, no API is guaranteed to be stable from one
release to the next.
In fact, it is very likely that the API will change multiple times before a stable 1.0.0 release.
In practice, this means that upgrading objectory
to a new version will possibly break any code
that was using the old version of objectory
.
objectory
is licensed under BSD 3-Clause "New" or "Revised" license available
in LICENSE
file.
FAQs
A light library for general purpose object factories
We found that objectory demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.