Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (3.8%) to scientific vocabulary
Last synced: 11 months ago
·
JSON representation
Repository
Function annotations for Python2.
Basic Info
Statistics
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
- Releases: 0
Created over 9 years ago
· Last pushed 11 months ago
Metadata Files
Readme
Changelog
Funding
License
README.rst
annotate
========
Function annotations.
Overview
========
**@annotate**
| Decorator to set a function's __annotations__ like Py3.
| https://www.python.org/dev/peps/pep-3107/
`PyPI record`_.
`Documentation`_.
Examples
--------
.. code:: python
from typing import Optional, Tuple, Union, Sequence
from annotate import annotate
from .lib import cached
from . import jni
from .jobjectbase import JObjectBase
from .jclass import JClass
from .jobject import JObject
class JArray(JObjectBase):
"""Java Array"""
@classmethod
@annotate('JArray', size=Union[int, long])
def newBooleanArray(cls, size):
...
...
@classmethod
@annotate('JArray', size=Union[int, long])
def newDoubleArray(cls, size):
...
@classmethod
@annotate('JArray', size=Union[int, long])
def newStringArray(cls, size):
...
@classmethod
@annotate('JArray', size=Union[int, long], component_class=JClass)
def newObjectArray(cls, size, component_class):
...
@annotate(jenv=jni.JNIEnv, jarr=jni.jarray, borrowed=bool)
def __init__(self, jenv, jarr, borrowed=False):
...
def __hash__(self):
return super(JArray, self).__hash__()
def __len__(self):
return self.getLength()
@annotate(JObject, borrowed=bool)
def asObject(self, borrowed=False):
...
@cached
@annotate(int)
def getLength(self):
...
@annotate(bool, idx=int)
def getBoolean(self, idx):
...
...
@annotate(float, idx=int)
def getDouble(self, idx):
...
@annotate(Optional[str], idx=int)
def getString(self, idx):
...
@annotate(Optional[JObject], idx=int)
def getObject(self, idx):
...
@annotate(idx=int, val=bool)
def setBoolean(self, idx, val):
...
@annotate(idx=int, val=str)
def setChar(self, idx, val):
...
...
@annotate(idx=int, val=Union[int, long])
def setLong(self, idx, val):
...
@annotate(idx=int, val=float)
def setDouble(self, idx, val):
...
@annotate(idx=int, val=Optional[str])
def setString(self, idx, val):
...
@annotate(idx=int, val=Optional[JObject])
def setObject(self, idx, val):
...
@annotate('JArray', start=int, stop=int, step=int)
def getBooleanSlice(self, start, stop, step):
...
...
@annotate('JArray', start=int, stop=int, step=int)
def getDoubleSlice(self, start, stop, step):
...
@annotate('JArray', start=int, stop=int, step=int)
def getStringSlice(self, start, stop, step):
...
@annotate('JArray', start=int, stop=int, step=int)
def getObjectSlice(self, start, stop, step):
...
@annotate(start=int, stop=int, step=int, val=Sequence[bool])
def setBooleanSlice(self, start, stop, step, val):
...
@annotate(start=int, stop=int, step=int, val=Union[Sequence[str], str])
def setCharSlice(self, start, stop, step, val):
...
@annotate(start=int, stop=int, step=int,
val=Union[Sequence[Union[int,bytes]], (bytes, bytearray)])
def setByteSlice(self, start, stop, step, val):
...
...
@annotate(start=int, stop=int, step=int, val=Sequence[float])
def setDoubleSlice(self, start, stop, step, val):
...
@annotate(start=int, stop=int, step=int, val=Sequence[Optional[str]])
def setStringSlice(self, start, stop, step, val):
...
@annotate(start=int, stop=int, step=int, val=Sequence[Optional[JObject]])
def setObjectSlice(self, start, stop, step, val):
...
@annotate(Tuple)
def getBooleanBuffer(self):
with self.jvm as (jvm, jenv):
is_copy = jni.jboolean()
return jenv.GetBooleanArrayElements(self._jobj, is_copy), jni.sizeof(jni.jboolean), b"B", is_copy
...
@annotate(Tuple)
def getDoubleBuffer(self):
with self.jvm as (jvm, jenv):
is_copy = jni.jboolean()
return jenv.GetDoubleArrayElements(self._jobj, is_copy), jni.sizeof(jni.jdouble), b"d", is_copy
@annotate(buf=object)
def releaseBooleanBuffer(self, buf):
with self.jvm as (jvm, jenv):
jenv.ReleaseBooleanArrayElements(self._jobj, jni.cast(buf, jni.POINTER(jni.jboolean)))
...
@annotate(buf=object)
def releaseDoubleBuffer(self, buf):
with self.jvm as (jvm, jenv):
jenv.ReleaseDoubleArrayElements(self._jobj, jni.cast(buf, jni.POINTER(jni.jdouble)))
Installation
============
Prerequisites:
+ Python 3.10 or higher
* https://www.python.org/
+ pip and setuptools
* https://pypi.org/project/pip/
* https://pypi.org/project/setuptools/
To install run:
.. parsed-literal::
python -m pip install --upgrade |package|
Development
===========
Prerequisites:
+ Development is strictly based on *tox*. To install it run::
python -m pip install --upgrade tox
Visit `Development page`_.
Installation from sources:
clone the sources:
.. parsed-literal::
git clone |respository| |package|
and run:
.. parsed-literal::
python -m pip install ./|package|
or on development mode:
.. parsed-literal::
python -m pip install --editable ./|package|
License
=======
| |copyright|
| Licensed under the zlib/libpng License
| https://opensource.org/license/zlib
| Please refer to the accompanying LICENSE file.
Authors
=======
* Adam Karpierz
.. |package| replace:: annotate
.. |package_bold| replace:: **annotate**
.. |copyright| replace:: Copyright (c) 2012-2025 Adam Karpierz
.. |respository| replace:: https://github.com/karpierz/annotate.git
.. _Development page: https://github.com/karpierz/annotate
.. _PyPI record: https://pypi.org/project/annotate/
.. _Documentation: https://annotate.readthedocs.io/
Owner
- Name: Adam Karpierz
- Login: karpierz
- Kind: user
- Location: Poland
- Website: https://www.linkedin.com/in/adam-karpierz/
- Repositories: 17
- Profile: https://github.com/karpierz
Software Developer
GitHub Events
Total
- Watch event: 1
- Delete event: 1
- Push event: 10
- Create event: 8
Last Year
- Watch event: 1
- Delete event: 1
- Push event: 10
- Create event: 8
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Adam Karpierz | a****z@g****m | 24 |
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 327 last-month
- Total dependent packages: 0
- Total dependent repositories: 10
- Total versions: 26
- Total maintainers: 1
pypi.org: annotate
Decorator to set a function's __annotations__ like Py3.
- Homepage: https://pypi.org/project/annotate/
- Documentation: https://annotate2.readthedocs.io/
- License: zlib
-
Latest release: 1.3.0
published 11 months ago
Rankings
Dependent repos count: 4.6%
Dependent packages count: 10.0%
Downloads: 13.2%
Average: 17.1%
Stargazers count: 27.8%
Forks count: 29.8%
Maintainers (1)
Last synced:
11 months ago
Dependencies
pyproject.toml
pypi