semvec/pypi-packages huggingface dataset:
candor 1.0
Python Library for Candor Services' Project Mercury API.

# candor-py
Python Library for Candor Services' Project Mercury API.

## Documentation
`candor.py` requires Python 3.8 or higher.
You can add the library to your project with:
```
pip install candor
```

Your public API key can be found at https://dashboard.candorservices.net/api-dashboard.

### Verifying a license
You can verify if a license is valid using this function:
```py
valid = verifyLicense(PUB_API_KEY, LICENSE_KEY, PRODUCT_ID);
```

You'll want to grab your product ID from https://dashboard.candorservices.net/license-manager by creating a new product and then adding a license. The license key should be added by the client, using some sort of config (we recommend remote configs, see below!). Assign your license to your client using the tools in the dashboard.

### Retrieving a remote config
Remote configs allow clients to easily configure parts of their apps without having to mess with complicated or messy configuration files. You can use this function:
```py
obj = candor.getConfig(PUB_API_KEY, CONFIG_ID);
```
to retrieve the remote config as an object. You can create a remote config at https://dashboard.candorservices.net/config-manager.

## Need support?
If you need help with anything to do with this project, then please see the [project-mercury-support](https://discord.com/channels/650773903236399134/1146431646418079744) channel in Discord under the FREELANCERS category.
homogeneous-transformation 0.0.1.1.7.2
View and work on plenoscope events

#########################
Homogenous Transformation
#########################
|TestStatus| |PyPiStatus| |BlackStyle|

Define, sequence, and apply transformations in 3D.
Taken from `merlict_c89_link`_ and wrapped in python with a numpy friendly interface.

******
Define
******

.. code-block:: python

    t_civil = {
        "pos": [1.0, 0.0, 0.0],
        "rot": {
            "repr": "axis_angle",
            "axis":[0.0, 0.0, 1.0],
            "angle_deg": 0.3,
        },
    }


Transformations can be defined with a civil representation in a dict.
The rotation can be represented by either 'axis_angle', 'tait_bryan', or
'quaternion'. To apply the transformation we compile it.

.. code-block:: python

    import homogeneous_transformation as ht
    t = ht.compile(t_civil)


The civil representation can be compiled into a compact numpy array ``t``
of shape ``(7, )``.

.. code-block:: python

    In : t
    Out: array([1. , 0. , 0. , 0.99999657, 0. , 0. , 0.00261799])


The first 3 fields are the translation vector and the remaining 4 fields are
the rotation quaternion.
One can also export this with  ``to_matrix`` into a homogenous
transformation matrix of shape ``(4, 4)``.

.. code-block::

    In : ht.to_matrix(t)
    Out:
    array([[ 0.99998629, -0.00523596,  0.        ,  1.        ],
           [ 0.00523596,  0.99998629,  0.        ,  0.        ],
           [ 0.        ,  0.        ,  1.        ,  0.        ],
           [ 0.        ,  0.        ,  0.        ,  1.        ]])

********
Sequence
********

Transformations in compact representation can be concatenated to compute the
sequence.

.. code-block:: python

    t_ab = ht.sequence(t_a, t_b)


*****
Apply
*****

Apply transformations to positions, orientations, or rays.

.. code-block:: python

    import numpy as np

    vec = np.array([0, 0, 1])

    t_vec = ht.transform_position(t, vec)


Here ``vec`` can either be a single vector of shape ``(3, )`` or an
array of ``N`` vectors with shape ``(N, 3)``.
The loop over the individual vectors is in the ``C`` backend and
thus very efficient.


.. |BlackStyle| image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black

.. |TestStatus| image:: https://github.com/cherenkov-plenoscope/homogeneous_transformation/actions/workflows/test.yml/badge.svg?branch=main
    :target: https://github.com/cherenkov-plenoscope/homogeneous_transformation/actions/workflows/test.yml

.. |PyPiStatus| image:: https://img.shields.io/pypi/v/homogeneous_transformation
    :target: https://pypi.org/project/homogeneous_transformation

.. _merlict_c89_link: https://github.com/cherenkov-plenoscope/merlict_c89
RKA 0.0.2
Keeps your replit app running
Requires Python: >=3.8

# replit_keep_alive (RKA)
![Tests](https://github.com/Reathe/RKA/actions/workflows/tests.yml/badge.svg)

Easy way to keep your replit alive by calling keep_alive, and then pinging it. For example you can have https://uptimerobot.com monitor the page it created

Install with
```
pip install RKA
```

In your code:

```python
from RKA import keep_alive

keep_alive()
```

Don't forget to add a monitor to the created page, so it gets visited every few minutes. As long it has visitors, it won't die !