Download β’ Documentation β’Build β’ License
An open source budget execution & data analysis application for federal analysts developed in C# using WPF and released under the MIT license
- Mutliple data providers.
- Charting and reporting.
- Internal web browser, Baby, with queries optimized for searching .gov domains.
- Pre-defined schema for moret than 100 environmental data models.
- Editors for SQLite, SQL Compact Edition, MS Access, SQL Server Express.
- Excel-ish UI on top of a real databases.
- Mapping for congressional earmark reporting and montioring of polluction sites.
- Finanical data bound to environmental programs and statutory authority.
- Ad-hoc calculations.
- Add agency/region/division-specific branding.
- The winforms version of Badger is Sherpa
Databases play a critical role in environmental data analysis by providing a structured system to store, organize, and efficiently retrieve large amounts of data, allowing analysts to easily access and manipulate information needed to extract meaningful insights through queries and analysis tools; essentially acting as the central repository for data used in data analysis processes. Bubba provides the following providers to store and analyze data locally.
- SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.
- SQL CE is a discontinued but still useful relational database produced by Microsoft for applications that run on mobile devices and desktops.
- SQL Server Express Edition is a scaled down, free edition of SQL Server, which includes the core database engine.
- MS Access is a database management system (DBMS) from Microsoft that combines the relational Access Database Engine (ACE) with a graphical user interface and software-development tools. more here
-
You need VC++ 2019 Runtime 32-bit and 64-bit versions
-
You will need .NET 6.
-
You need to install the version of VC++ Runtime that Baby Browser needs. Since we are using CefSharp 106, according to this we need the above versions
- Controls - main UI layer with numerous controls and related functionality.
- Styles - XAML-based styles for the Bubba UI layer.
- Enumerations - various enumerations used for budgetary accounting.
- Extensions- useful extension methods for budget analysis by type.
- Clients - other tools used and available.
- Ninja - models used in EPA budget data analysis.
- IO - input output classes used for networking and the file systemm.
- Static - static types used in the analysis of environmental budget data.
- Interfaces - abstractions used in the analysis of environmental budget data.
bin
- Binaries are included in thebin
folder due to the complex Baby setup required. Don't empty this folder.- Badger uses CefSharp 106 for Baby Browser and is built on NET 8
- Badger supports x64 specific builds
bin/storage
- HTML and JS required for downloads manager and custom error pages
Vectorization is the process of converting textual data into numerical vectors and is a process that is usually applied once the text is cleaned. It can help improve the execution speed and reduce the training time of your code. Bubba provides the following vector stores on the OpenAI platform to support environmental data analysis with machine-learning:
- Federal Appropriations - vectorized data set of federal appropriations available for fine-tuning learning models
- Federal Regulations - vectorized dat aset of federal, financial regulations available for fine-tuning learning models
The tools used in environmental data analysis & buget execution play a crucial role by facilitating the collection, cleaning, organization, analysis, and interpretation of large datasets, allowing users to extract meaningful insights and make informed decisions by transforming raw data into actionable information through features like statistical analysis, data visualization, and machine learning algorithms. Some of the tools offered by Bubba include the following:
Environmental data dashboards providing views that help users explore and analyze complex environmental data to make informed decisions, manage operations and research.
Data analysis in environmental science is used for a wide range of applications including: climate change analysis, biodiversity assessment, pollution detection, natural disaster management, land use monitoring, ecosystem health evaluation, and identifying environmental trends by utilizing techniques like spatial analysis, time series analysis, and statistical modeling, often leveraging satellite imagery and remote sensing data to analyze large datasets effectively.
An excel inspired control that allows you to create, edit, view and format the Microsoft Excel files without excel installed. It provides absolute ease of use UI experience with integrated ribbon to cover any possible business scenario.
- Ribbon β Ribbon integrated with organically enhanced UI experience.
- Editing and Selection - Interactive support for editing and cell selection in workbook.
- Formulas - Provides support for 400+ most widely used formulas which any business user needs and allows you to add, remove and edit the formulas like in excel.
- Name Manager β Supports the name ranges in the formulas. By using the name ranges, you can specify the name of the cell range.
- Data validation β Provides support to ensure the data integrity by enforcing end users to enter valid data into the cells and if entered data does not meet the specified criteria, and error message is displayed.
- Floating Cells - Provides support for floating cell mode that is when the text exceeds the length of the cell, it will float the text to the adjacent cell.
- Merge Cells - Merge two or more adjacent cells into a single cell and display the contents of one cell in the merged cell.
- Conditional Formatting - Provides support for excel compatible conditional formatting and allows you to apply formats to a range of cells depending on the value of cells or formula that meet specific criteria.
- Import/Export data
Visualize data about facilities or specific sites subject to environmental regulation. The EPA's Geospatial Data Access Project provides downloadable files of these facilities or sites in the following formats: Extensible Markup Language (XML), Keyhole Markup Language (KML), ESRI Geodatabase, and Comma Separated Value (CSV). Within the file is key facility information for use in mapping and reporting applications.
Every year, the U.S. Congress begins work on a federal budget for the next fiscal year. The federal governmentβs fiscal year runs from October 1 of one calendar year through September 30 of the next. A fiscal year (FY) is a 52- or 53-week (or, alternatively, a 12-month) period that companies and governments use for taxing or accounting purposes. Fiscal years are most commonly used by entities that depend on a cycle that doesn't correspond to the calendar year.
Create, build, and maintain ad-hoc documents with Orca to provide real-time information for others via the web.
- Definitions and statutory authorities
- Legal information bound directly to financial data in the user interface.
- Environmental Monitoring and Assessment Program and Regional Environmental Monitoring and Assessment Program
EMAP was a research program to develop the tools necessary to monitor and assess the status and trends of national ecological resources. Data sets generated in the course of EMAP's research are available to be searched and downloaded. The objectives of REMAP are to evaluate and improve EMAP concepts for state and local use, assess the applicability of EMAP indicators at differing spatial scales, and demonstrate the utility of EMAP for resolving issues of importance to EPA Regions and states. REMAP data are available online like EMAP data, but have smaller spatial and temporal scales.
The STORET Data Warehouse is U.S. EPA's repository of the water quality monitoring data collected by water resource management groups across the country. These organizations, including states, tribes, watershed groups, other federal agencies, volunteer groups and universities, submit datasets to the STORET Warehouse in order to make them publically accessible.
WSA is a survey of the biological condition of small streams throughout the U.S. conducted by the U.S. EPA in collaboration with states and tribes. The first WSA in 2004-2005 sampled 1,392 sites selected at random to represent the condition of all streams in regions that share similar ecological characteristics. Participants used the same standard methods at all sites, to ensure results that are comparable across the nation.
- Air Research
- Climate Change Research
- Ecosystems Research
- Emergency Response
- Health Research
- Human Health Risk Assessment
- Land and Waste Management Research -Chemical Safety Research
- Water Research
The PDF Viewer control supports viewing, reviewing, and printing PDF files in the WPF applications. The thumbnail, bookmark, hyperlink, and table of contents support provide easy navigation within and outside the PDF files. The form-filling support provides a platform to fill, flatten, save, and print PDF files with AcroForm. The PDF files can be reviewed with the abundantly available annotation tools.
Common SQL operations used in data analysis: Filtering data: Using the WHERE clause to select specific rows based on conditions. Aggregation: Employing functions like SUM, AVG, COUNT, MIN, MAX to calculate summary statistics on groups of data. Joining tables: Combining data from multiple tables using JOIN operations to create a comprehensive view. Subqueries: Using nested queries to filter data based on results from another query.
A C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine that's open source and hand's-down one the best tools available.
A discontinued but super useful relational database produced by Microsoft for applications that run on mobile devices and desktops.
A free edition of MS' flagship database SQL Server, which includes the core database engine.
A light-weight, full-featured, open source version of Google Chrome web-browser written in C#. Baby embraces modern web standards, and supports HTML5, JavaScript, CSS3 and HTML5 audio/video elements. 3D content is supported via WebGL which uses OpenGL/DirectX for hardware accelerated rendering. Baby includes embedded modules for PDF, web page printing and the WebKit Inspector (developer tools). Baby has no external dependencies.
-
Stand-alone web browser built with the Chromium Embedded Framework
-
HTML5, CSS3, JS, HTML5 Video, WebGL 3D, WebAssembly, etc
-
Tabbed browsing
-
Address bar (also opens Google)
-
Back, Forward, Stop, Refresh
-
Developer tools
-
Search bar (also highlights all instances)
-
Download manager
-
Custom error pages
-
Custom context menu
-
Easily add vendor-specific branding, buttons or hotkeys
-
View online & offline webpages
Hotkeys | Function |
---|---|
Ctrl+T | Add a new tab |
Ctrl+N | Add a new window |
Ctrl+W | Close active tab |
F5 | Refresh active tab |
F12 | Open developer tools |
Ctrl+Tab | Switch to the next tab |
Ctrl+Shift+Tab | Switch to the previous tab |
Ctrl+F | Open search bar (Enter to find next, Esc to close) |
WebAssembly or WASM is a "binary instruction format for a stack-based virtual machine [...] designed as a portable compilation target for programming languages, enabling deployment on the web". Said another way it's an intermediate bytecode format that can shipped to browsers to be run. This is notable because as an intermediate format it enables language designers to target browser development from languages beyond JavaScript. Many languages today have compilers available that will output WASM as a target some notable examples are C/C++, C#, Rust, Zig. Beyond that the ubiquity of javascript engines there's a large number of environments that have suddenly become possible WASM targets.
WebGL a 3D graphics API based on OpenGL ES itself a subset of the OpenGL graphics API designed for mobile or embedded applications. WebGL is notable because it offers a powerful, cross platform, 3D graphics target for the browser. For many targets the browser is able to use 3D acceleration and run directly on the computer's GPU which provides a much high performance graphics target than you otherwise have access to from the browser APIs. There are examples of rich 3D environments, games, and 3D accelerated applications that have shipped to browsers enabled by this technology.
- libcef.dll (Chromium Embedded Framework Core library)
- icudtl.dat (Unicode Support data)
- chrome_elf.dll(Crash reporting library)
- snapshot_blob.bin, v8_context_snapshot.bin (V8 snapshot data)
- locales\en-US.pak, chrome_100_percent.pak, chrome_200_percent.pak, resources.pak,
- d3dcompiler_47.dll
- libEGL.dll
- libGLESv2.dll
These are technically listed as optional, but the browser is unlikely to function without these files.
- CefSharp.Core.dll, CefSharp.dll
- CefSharp.Core.Runtime.dll
- CefSharp.BrowserSubprocess.exe
- CefSharp.BrowserSubProcess.Core.dll
These are required CefSharp binaries that are the common core logic binaries of CefSharp (only 1 required).
- CefSharp.WinForms.dll
- CefSharp.Wpf.dll
- CefSharp.OffScreen.dll
Badger uses the following projects and libraries. Please consider supporting them as well (e.g., by starring their repositories):
CefSharp.WPF.Core | .NET (WPF/Windows Forms) bindings for the Chromium Embedded Framework |
Epplus | EPPlus-Excel spreadsheets for .NET |
Google.Api.CustomSearchAPI.v1 | Google APIs Client Library for working with Customsearch v1 |
LiveCharts.Core | Simple, flexible, interactive & powerful charts, maps |
Microsoft.Interop.Outlook | This an assembly you can use for Outlook 2013/2016/2019 COM interop |
ModernWpfUI | Modern styles and controls for your WPF applications |
RestoreWindowPlace | An easy to use window restore package |
System.Data.SQLite | .NET Framework Data Provider for SQLite. |
System.Data.SqlCe | .NET Framework Data Provider for SQL Compact Edition. |
System.Data.OleDb | .NET Framework Data Provider for OLE DB. |
System.Data.SqlClient | A collection of loading indicators for WPF |
MahApps.Metro | UI toolkit for WPF applications |
ToastNotifications.Messages.Net6 | Toast notifications for WPF |
ToastNotifications.Messages | Toast notifications for WPF |
Syncfusion 24.1.41 | Custom Controls Used in Badger |
This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it.
Bubba has integrated the following services for additional functions, which can be enabled or disabled at the first start (in the welcome dialog) or at any time in the settings:
- api.github.com (Check for program updates)
- ipify.org (Retrieve the public IP address used by the client)
- ip-api.com (Retrieve network information such as geo location, ISP, DNS resolver used, etc. used by the client)
Bubba is published under the MIT General Public License v3.