Choosing Packages
VersaTul works best when you start from the job you need to get done, not from the full package list.
This page helps you choose the smallest package set that solves your current problem while avoiding unnecessary overlap.
If you are new to the ecosystem, use the decision sections below before browsing the full catalog.
Start With The Problem
Use the problem you are trying to solve as the main selection criteria.
Fast Recommendations
If you need application settings and lightweight configuration models, start with Configuration.
If you need relational data access, start with Data Sql or Data MsSql.
If you need CSV or text-file imports, start with Data FileReader.
If you need export output, start with Collection Streamers.
If you need logging, start with Logger and then add a sink package.
If you need scheduled work, start with Scheduler.
Application Foundation
Choose these when you need shared abstractions, settings, conversion helpers, or reusable utility methods.
Data Access And Data Movement
Choose these when your application reads, writes, transforms, or transfers data.
Output, Transformation, And Files
Choose these when you need export pipelines, file operations, compression, or object transformation workflows.
Logging, Mail, And Scheduling
Choose these when you need operational tooling around application runtime behavior.
Common Package Combinations
These combinations are useful starting points for common scenarios.
Scenario |
Recommended starting packages |
|---|---|
Basic service application |
|
SQL-backed application |
|
File import pipeline |
|
Export and formatting workflow |
|
Background processing |
|
Notification workflow |
|
Decision Tables
Use these comparisons when multiple packages appear relevant.
Decision |
Start here when |
Avoid starting here when |
|---|---|---|
|
Use |
Avoid |
|
Use |
Avoid treating |
|
Use |
Avoid starting with |
Start Here If
You are building a service and need sane configuration plus logging: start with Configuration, Extensions, and Logger.
You are building a CRUD or reporting app on relational storage: start with Data Sql or Data MsSql, then add Data Contracts.
You are importing flat files into a database: start with Data FileReader, then add Data Bulk and optionally Handler File.
You are generating files or tabular exports: start with Collection Streamers, then add Display Attributes and Object Converters.
You are adding recurring background work: start with Scheduler and Logger.
Not The Best First Move If
You are pulling in multiple overlapping data packages before your storage direction is clear.
You are treating every VersaTul package as mandatory foundation.
You are trying to evaluate the ecosystem by reading package pages in isolation instead of starting from one workflow.
Selection Rules That Usually Help
Start with the narrowest package that solves the current problem.
Add abstract or foundational packages only when they support the concrete package you are using.
Prefer one data-access strategy per service unless you have a clear integration need.
Treat logging as a base package plus a delivery implementation.
Treat streamers, converters, and display attributes as complementary packages rather than isolated ones.
Selection Rules That Usually Hurt
Pulling in multiple data-access packages before the primary storage choice is clear.
Treating every library package as a required foundation.
Mixing package examples from unrelated workflows before one end-to-end path is working.
For Advanced Users
If you already know the architecture you want:
Use the interfaces and contracts pages to identify extension points.
Review the package reference pages for concrete types and typical wiring patterns.
Combine packages deliberately based on shared concepts, not only naming similarity.
What To Read Next
Jump directly to the package page you plan to adopt first.
Read Package Catalog when you want the broader map of adjacent packages.
Go back to Getting Started if you want the smallest copy-paste entry point.
Use Scenario Guides when you want an end-to-end workflow that combines several packages.