{"id":21272726,"url":"https://github.com/mrdave1999/seztion-parser","last_synced_at":"2025-07-11T06:32:33.302Z","repository":{"id":46181260,"uuid":"425326384","full_name":"MrDave1999/seztion-parser","owner":"MrDave1999","description":"A class library used to read data from each section of a file (the file extension can be any, e.g. .INI).","archived":false,"fork":false,"pushed_at":"2024-07-27T15:17:50.000Z","size":872,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-09T16:46:50.150Z","etag":null,"topics":["csharp","data","dotnet","parser","sections"],"latest_commit_sha":null,"homepage":"https://mrdave1999.github.io/seztion-parser/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MrDave1999.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-06T19:06:49.000Z","updated_at":"2024-10-12T22:55:00.000Z","dependencies_parsed_at":"2023-12-01T21:25:55.970Z","dependency_job_id":"f6c9d463-1e88-4076-92b8-67707786eb46","html_url":"https://github.com/MrDave1999/seztion-parser","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrDave1999%2Fseztion-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrDave1999%2Fseztion-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrDave1999%2Fseztion-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrDave1999%2Fseztion-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrDave1999","download_url":"https://codeload.github.com/MrDave1999/seztion-parser/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225700964,"owners_count":17510448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","data","dotnet","parser","sections"],"created_at":"2024-11-21T09:08:50.047Z","updated_at":"2024-11-21T09:08:50.719Z","avatar_url":"https://github.com/MrDave1999.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# seztion-parser\n\n[![seztion-parser-logo](https://raw.githubusercontent.com/MrDave1999/seztion-parser/main/docs/images/seztionparser-logo.png)](https://github.com/mrdave1999/seztion-parser)\n\n[![seztion-parser](https://img.shields.io/nuget/vpre/seztion-parser?label=Seztion.Parser%20-%20nuget\u0026color=red)](https://www.nuget.org/packages/seztion-parser)\n[![downloads](https://img.shields.io/nuget/dt/seztion-parser?color=yellow)](https://www.nuget.org/packages/seztion-parser)\n[![license](https://img.shields.io/badge/License-MIT-green)](https://raw.githubusercontent.com/MrDave1999/seztion-parser/master/LICENSE)\n\n**seztion-parser** is a class library used to read data from each section of a file (the file extension can be any, e.g. `.INI`).\n\nThere is a history behind why this library exists.\n\nSome time ago I was creating a gamemode in [SA-MP](https://sa-mp.mp/) (San Andreas Multiplayer, a multiplayer mod for GTA San Andrea) that was based on two teams (Alpha and Beta), so I needed to somehow store the **spawn positions** (is the location where the player appears on the map) of a given map (the place where the player plays).\n\nThen it occurred to me that I could save the spawn positions in a file in this way:\n```ini\n# Section(1).\n[Alpha]\n# Spawn positions - Alpha Team.\n2548.7009,-1283.2224,1060.9844,230.3022\n2565.8301,-1281.7773,1065.3672,238.1356\n2575.7759,-1283.3206,1065.3672,177.9750\n2580.8525,-1284.6443,1065.3579,88.0476\n2568.5518,-1283.6564,1060.9844,181.0851\n\n# Section(2).\n[Beta]\n# Spawn positions - Beta Team.\n2532.1660,-1283.6971,1031.4219,270.0725\n2532.5823,-1292.2178,1031.4219,275.7126\n2532.9485,-1302.3477,1031.4219,269.4458\n2541.2852,-1303.9135,1031.4219,269.4458\n2542.1389,-1293.7726,1031.4219,262.8658\n```\nAnd this is where the **seztion-parzer** library comes into play, as it is simple to extract this data with this library. I didn't want to use a database for this, I wanted something very simple and this is what I came up with at the time.\n\nDon't forget to visit the official library [website](https://mrdave1999.github.io/seztion-parser) where you can find [API documentation](https://mrdave1999.github.io/seztion-parser/api/SeztionParser.html) and [articles](https://mrdave1999.github.io/seztion-parser/articles/getting_started.html).\n\n## Installation\n\nIf you're an hardcore and want to do it manually, you must add the following to the `csproj` file:\n```xml\n\u003cPackageReference Include=\"seztion-parser\" Version=\"3.0.0\" /\u003e\n```\nIf you're want to install the package from Visual Studio, you must open the project/solution in Visual Studio, and open the console using the **Tools** \u003e **NuGet Package Manager** \u003e **Package Manager Console** command and run the install command:\n```\nInstall-Package seztion-parser\n```\nIf you are making use of the dotnet CLI, then run the following in your terminal:\n```\ndotnet add package seztion-parser\n```\n\n## Usage\n\n```cs\n// Import all namespace types.\nusing SeztionParser;\n\n// Load the sections file.\nISectionsData sections = SectionsFile.Load(\"my_file.ini\");\nISectionData alphaSection = sections[\"Alpha\"];\n// This prints the data of the 'Alpha' section.\nforeach (string data in alphaSection)\n    Console.WriteLine(data);\n```\nFor more information, see the [articles](https://mrdave1999.github.io/seztion-parser/articles/getting_started.html).\n\n## Contribution\n\nIf you want to contribute in this project, simply fork the repository, make changes and then create a [pull request](https://github.com/MrDave1999/seztion-parser/pulls).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrdave1999%2Fseztion-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrdave1999%2Fseztion-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrdave1999%2Fseztion-parser/lists"}