Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
A tool library created by jaanca with operating system help functions such as reading environment variables, reading/writing files, file properties, among others.
jaanca public libraries
Python library: A tool library created by jaanca with operating system help functions such as reading environment variables, reading/writing files, file properties, among others.
EnvironmentParserLoader: A class that loads, parses, and manages system environment variables into various data types. General Functionality
FileFolderManagement: To write files, use the write_to_disk() method
FileProperties: Functionalities to read properties of an operating system file, such as: modification date, creation, size in bytes, among others.
Source code | Package (PyPI) | Samples
pip install python-dotenv --upgrade
pip install jaanca_utils_os[dotenv] --upgrade
An object must be specified with the variables that you want to create.
The attributes of these objects will be loaded with the environment variables, according to the name assigned to them.
If the attribute is mandatory, it will only be of type str and will contain the name of the environment variable to read.
If the environment variable is optional or may not exist, the attribute must be of type tuple or list, where the first element is the environment variable to read and the second the default value to assign.
Example:
class Environment:
ENV_VAR_NO_EXIT = ("VARIABLE","Not Exist")
ENV_VAR_IS_MANDATORY = "VARIABLE"
ENGINE_POSTGRES_CONN_HOST=psqlt
ENGINE_POSTGRES_CONN_DB=test
ENGINE_POSTGRES_CONN_PASSWORD=es3bv3v3
ENGINE_POSTGRES_CONN_PORT=5432
ENGINE_POSTGRES_CONN_USER=postgres
ENGINE_POSTGRES_CONN_SSL=false
FLOAT=3.3
LIST=[1,2,3,"4","5"]
DICT='{"one": "one", "two": 2}'
BOOL_TRUE = true
BOOL_TRUE_ONE = 1
BOOL_TRUE_TWO = "1"
BOOL_FALSE_ONE = 0
BOOL_FALSE_TWO = "0"
BOOL_FALSE_INCORRECT = "incorrect"
pip install prettytable==3.10.0
from jaanca_utils_os import EnvironmentParserLoader, FileFolderManagement
from prettytable import PrettyTable
class Environment:
HOST = "ENGINE_POSTGRES_CONN_HOST"
DB_NAME = "ENGINE_POSTGRES_CONN_DB"
PASSWORD = "ENGINE_POSTGRES_CONN_PASSWORD"
PORT = "ENGINE_POSTGRES_CONN_PORT"
USER = "ENGINE_POSTGRES_CONN_USER"
SSL = "ENGINE_POSTGRES_CONN_SSL"
FLOAT = "FLOAT"
LIST = "LIST"
DICT = "DICT"
BOOL_TRUE = "BOOL_TRUE"
BOOL_TRUE_ONE = "BOOL_TRUE_ONE"
BOOL_TRUE_TWO = "BOOL_TRUE_TWO"
BOOL_FALSE_ONE = "BOOL_FALSE_ONE"
BOOL_FALSE_TWO = "BOOL_FALSE_TWO"
BOOL_FALSE_INCORRECT = "BOOL_FALSE_INCORRECT"
NO_DATA_TUPLE = ("VARIABLE","Not Exist")
NO_DATA_LIST = ["VARIABLE","Not Exist"]
NO_DATA_BOOL = ["VARIABLE","1"]
############
# select the location of the file to read
############
############
# Option 1
# Run the script from where the default environment variables .env file is located
# settings:Environment = EnvironmentParserLoader(Environment)
############
# Other Options
# Load varibles from current folder and subfolders
env_full_path = FileFolderManagement.build_full_path_from_current_folder(__file__,filename=".env",folder_list=["folder2"])
# Load varibles from disk path: c:\tmp
env_full_path = FileFolderManagement.build_full_path_to_file("c:",file_name=".env",folder_list=["tmp"])
# Load varibles from current folder
env_full_path = FileFolderManagement.build_full_path_from_current_folder(__file__,filename=".env")
settings:Environment = EnvironmentParserLoader(Environment,env_full_path=env_full_path)
def print_attributes(cls):
columns = ["Name", "Type", "Value"]
myTable = PrettyTable(columns)
for attribute_name, attribute_value in vars(cls).items():
attribute_type = type(attribute_value)
myTable.add_row([attribute_name, attribute_type.__name__, attribute_value])
print(myTable)
print_attributes(settings)
Name | Type | Value |
---|---|---|
HOST | str | psqlt |
DB_NAME | str | test |
PASSWORD | str | es3bv3v3 |
PORT | int | 5432 |
USER | str | postgres |
SSL | bool | False |
FLOAT | float | 3.3 |
LIST | list | [1, 2, 3, '4', '5'] |
DICT | dict | {'one': 'one', 'two': 2} |
BOOL_TRUE | bool | True |
BOOL_TRUE_ONE | bool | True |
BOOL_TRUE_TWO | bool | True |
BOOL_FALSE_ONE | bool | False |
BOOL_FALSE_TWO | bool | False |
BOOL_FALSE_INCORRECT | bool | False |
NO_DATA_TUPLE | str | Not Exist |
NO_DATA_LIST | str | Not Exist |
NO_DATA_BOOL | bool | True |
from jaanca_utils_os import FileFolderManagement
# Write file to current folder
file_name="hello.txt"
current_folder=FileFolderManagement.build_full_path_from_current_folder(__file__)
folders=FileFolderManagement.get_folder_list(current_folder)
file_name_full_path = FileFolderManagement.build_full_path_to_file("c:",file_name,folders)
text = """Hello world !
Hello world !"""
status,error_msg=FileFolderManagement(file_name_full_path).write_to_disk(text)
if(status):
print("file created successfully: "+file_name_full_path)
else:
print("error:" + error_msg)
# Write file in root path
file_name="hello.txt"
file_name_full_path = FileFolderManagement.build_full_path_to_file("c:",file_name)
text = """Hello world !
Hello world !"""
status,error_msg=FileFolderManagement(file_name_full_path).write_to_disk(text)
if(status):
print("file created successfully: "+file_name_full_path)
else:
print("error:" + error_msg)
from jaanca_utils_os import FileProperties, FileFolderManagement
import json
file_name="hello asa s sas. as as a. as as .txt"
filename_full_path_from_current_folder=FileFolderManagement.build_full_path_from_current_folder(__file__,folder_list=["file"])
file_properties=FileProperties(filename_full_path_from_current_folder)
status = file_properties.get_attribute_reading_status()
if status is True:
print(json.dumps(file_properties.get_dict(),indent=4))
print(f"name:{file_properties.name}")
print(f"extension:{file_properties.extension}")
print(f"modification_date:{file_properties.modification_date}")
else:
print(status)
jaanca-utils-os < MAJOR >.< MINOR >.< PATCH >
https://peps.python.org/pep-0440/
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
FAQs
A tool library created by jaanca with operating system help functions such as reading environment variables, reading/writing files, file properties, among others.
We found that jaanca-utils-os 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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.