
Security News
Deno 2.4 Brings Back deno bundle, Improves Dependency Management and Observability
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
A powerful Python package for automation, script management, and workflow orchestration.
A powerful Python automation framework for web scraping, data processing, and task orchestration.
pip install scriptman
from scriptman.powers.selenium import SeleniumInstance
# Initialize Selenium with automatic downloads directory
selenium = SeleniumInstance()
# Navigate to a website
selenium.driver.get("https://example.com")
# Download a file (will be saved to your system's Downloads folder)
# ... download logic here ...
# Wait for download to complete
downloaded_file = selenium.wait_for_downloads_to_finish()
print(f"File downloaded to: {downloaded_file}")
Scriptman automatically uses your system's default Downloads directory:
C:\Users\<username>\Downloads
(with OneDrive fallback)/Users/<username>/Downloads
/home/<username>/Downloads
Scriptman uses an intelligent download mechanism that:
This approach prevents download issues that can occur when forcing Chrome to use a specific download directory.
You can customize the downloads directory in your configuration:
# scriptman.toml
[scriptman]
downloads_dir = "/path/to/custom/downloads"
.selenium/chrome/
subdirectoryScriptman's Selenium implementation includes:
from scriptman.powers.selenium import SeleniumInstance
selenium = SeleniumInstance()
# Navigate and interact
selenium.driver.get("https://example.com")
selenium.interact_with_element("//button[@id='download']", mode="click")
# Wait for download and get file path
file_path = selenium.wait_for_downloads_to_finish("report.pdf")
print(f"Downloaded: {file_path}")
from scriptman.powers.etl import ETL
# Load data from various sources
data = ETL.from_csv("data.csv")
data = ETL.from_json("data.json")
data = ETL.from_db(database_handler, "SELECT * FROM table")
# Transform data
transformed = data.filter(lambda x: x['status'] == 'active')
transformed = transformed.to_snake_case()
# Save results
transformed.to_csv("output.csv")
transformed.to_db(database_handler, "output_table")
Scriptman uses TOML configuration files:
# scriptman.toml
[scriptman]
# Downloads directory (defaults to system Downloads folder)
downloads_dir = "~/Downloads"
# Selenium settings
selenium_optimizations = true
selenium_headless = true
selenium_local_mode = true
# Logging
log_level = "INFO"
# Task settings
concurrent = true
retries = 3
task_timeout = 30
from scriptman.powers.scheduler import TaskScheduler
scheduler = TaskScheduler()
# Schedule a daily task
scheduler.add_daily_task(
"daily_report",
task_function,
hour=9,
minute=0
)
# Schedule a periodic task
scheduler.add_periodic_task(
"data_sync",
sync_function,
interval_minutes=30
)
from scriptman.powers.database import DatabaseHandler
# Connect to database
db = DatabaseHandler(
connection_string="sqlite:///data.db"
)
# Execute queries
results = db.execute_read_query("SELECT * FROM users")
db.execute_write_query("INSERT INTO logs VALUES (?)", ["log_entry"])
from scriptman.powers.cleanup import CleanUp
cleaner = CleanUp()
# Clean up various resources
cleaner.cleanup() # General cleanup
cleaner.selenium_cleanup() # Selenium downloads
cleaner.diskcache_cleanup() # Cache files
git clone <repository>
cd scriptman
pip install -e ".[dev]"
pytest
[Add your license information here]
[Add contribution guidelines here]
FAQs
A powerful Python package for automation, script management, and workflow orchestration.
We found that scriptman 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
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.