Universe.NetCore.FIAS.Normalizer 1.0.0.100

dotnet add package Universe.NetCore.FIAS.Normalizer --version 1.0.0.100
                    
NuGet\Install-Package Universe.NetCore.FIAS.Normalizer -Version 1.0.0.100
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Universe.NetCore.FIAS.Normalizer" Version="1.0.0.100" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Universe.NetCore.FIAS.Normalizer" Version="1.0.0.100" />
                    
Directory.Packages.props
<PackageReference Include="Universe.NetCore.FIAS.Normalizer" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Universe.NetCore.FIAS.Normalizer --version 1.0.0.100
                    
#r "nuget: Universe.NetCore.FIAS.Normalizer, 1.0.0.100"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Universe.NetCore.FIAS.Normalizer&version=1.0.0.100
                    
Install Universe.NetCore.FIAS.Normalizer as a Cake Addin
#tool nuget:?package=Universe.NetCore.FIAS.Normalizer&version=1.0.0.100
                    
Install Universe.NetCore.FIAS.Normalizer as a Cake Tool

Universe.FIAS

The Universe.FIAS project is a .NET library designed to work with the Federal Information Address System (FIAS) database in Russia. FIAS is a federal-level address database used for standardizing and managing address data across various systems. This library provides tools to parse, process, and query FIAS data efficiently.

Project Overview

  • Purpose: Simplifies interaction with FIAS data (importing, querying, and processing).
  • Technology: Built with .NET (C#), using Entity Framework Core for database operations.
  • Database Support: Works with PostgreSQL (as indicated by Npgsql dependency).
  • Key Features:
    • Parsing FIAS XML data.
    • Importing FIAS data into a database.
    • Querying address hierarchies (regions, cities, streets, etc.).
    • Supporting incremental updates.

Main Classes and Components

The project is structured into several key classes and namespaces:

1. FiasDbContext (Database Context)
  • Inherits from DbContext (Entity Framework Core).
  • Defines database tables (DbSet<T>) for FIAS entities like:
    1. AddrObjs - Address Objects: regions, districts, streets, cities;
    2. AsHouses - houses;
    3. Object statuses - AsActStatuses, AsCenterStatuses, AsOperStatuses, AsStrStatuses;
    4. Other FIAS-related tables - AsVersions, AsAddrObjTypes, where AS - it's meaning Address System.
2. FiasEntity and Derived Classes

Represents FIAS data structures:

  • AsAddrObj – represents for FIAS address objects: regions, districts, streets, cities;
  • AsHouse – represents house records.
3. FiasXmlParser
  • Handles parsing of FIAS XML files (e.g., AS_ADDROBJ.XML, AS_HOUSES.XML).
  • Uses XmlSerializer to deserialize data into C# objects.
4. FiasImporter
  • Responsible for bulk-importing FIAS data into the database.
  • Uses Entity Framework Core for batch inserts.
  • Supports incremental updates.
5. FiasService (or similar query service)
  • Provides methods to query FIAS data:
    • Get addresses by region/city.
    • Search by postal code, GUID, or address text.
    • Fetch hierarchical data (e.g., regions → cities → streets).
6. FiasDownloader (if present)
  • Helps download FIAS archives from official sources.
7. FiasExtensions
  • Contains helper methods for:
    • Normalizing address strings.
    • Converting between FIAS GUIDs and database IDs.

Example Usage

// Initialize the database context
using var db = new FiasDbContext();

// Query addresses in a specific region
var houses = db.Houses
    .Where(h => h.RegionCode == "63") // Moscow region code
    .ToList();

// Import FIAS data from XML
var parser = new FiasXmlParser();
var objects = parser.Parse("AS_ADDROBJ.XML");

var importer = new FiasImporter(db);
importer.Import(objects);

Second sample:


 var scope = new UniverseFiasScope(resolver, settings, container);
 var searcher = new FiasUtil(scope);
 var info = searcher.GetFiasInfo("ул. Молодогвардейская, д.244");


Dependencies

  • EntityFrameworkCore (for database operations)
  • Npgsql.EntityFrameworkCore.PostgreSQL (PostgreSQL support)
  • System.Xml (XML parsing)

Conclusion

This library is useful for applications that need to work with Russian address data (e.g., logistics, government systems, CRM). It abstracts the complexities of FIAS XML parsing and database operations, providing a clean API for developers.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0.100 13,861 5/27/2025
1.0.0 1,511 5/27/2025
0.9.4.1 114,458 9/13/2022
0.9.4 2,547 9/2/2022
0.9.3.620 559 8/30/2022
0.9.3.507 2,283 8/24/2022
0.9.3.6 3,825 8/26/2022
0.9.3.5 480 8/20/2022