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.
realit-singer-python
Advanced tools
Writes the Singer format from Python.
This is a fork of Singer's singer-python made for PipelineWise and Meltano
This library depends on python3. We recommend using a virtualenv
like this:
python3 -m venv ~/.virtualenvs/singer-python
Next, install this library:
source ~/.virtualenvs/singer-python/bin/activate
git clone http://github.com/singer-io/singer-python
cd singer-python
pip install
Now, from python code within the same virtualenv
, you can use the library:
import singer
singer.write_schema('my_table',
{'properties':{'id': {'type': 'string', 'key': True}}},
['id'])
singer.write_records('my_table',
[{'id': 'b'}, {'id':'d'}])
singer.write_state({'my_table': 'd'})
realit-singer-python by default doesn't use any predefined logging configuration, it's up to the calling
library to define it. However, if the environment variable LOGGING_CONF_FILE
is found and set then the realit-singer-python
would use the path provided in the env variable as the logging configuration for the logger.
Enabling the use_singer_decimal = True in a tap will output decimal and floats as a string rather than their numeric representation.
Optional Setting:
A boolean setting: when enabled true
in the config will outputs decimal and floating point numbers as strings to avoid loss of precision and scale.
For supporting taps, there are hints in the schema message, format = "singer.decimal", and additionalProperties scale_precision dictionary providing precision and scale. For decimal data, the target can use this
information to correctly replicate decimal data without loss. For the Floats and Number data type without precision and scale it is recommended that post processing formats the datatype based on an inspection of the data because the true data size is unknown / dynamic.
{
"use_singer_decimal": true,
}
pip install poetry
poetry install
Create tests within the tests/
directory and
then run:
poetry run pytest
or
poetry run coverage run --parallel -m pytest
Run through the full suite of tests and linters by running
poetry run tox
These must pass in order for PR's to be merged.
Distributed under the Apache License Version 2.0
FAQs
Singer.io utility library - PipelineWise and Meltano compatible
We found that realit-singer-python 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.