diff --git a/README.md b/README.md index 0d7dc4bf..09a8a67a 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A modern and robust C# Technical Analysis library based on the original open-sou --- [![phmatray - TaLibStandard](https://img.shields.io/static/v1?label=phmatray&message=TaLibStandard&color=blue&logo=github)](https://github.com/phmatray/TaLibStandard "Go to GitHub repo") -[![License: BSD-3-Clause](https://img.shields.io/badge/License-BSD--3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) +[![License: GPL-3.0-or-later](https://img.shields.io/badge/License-GPLv3.0--or--later-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html) [![stars - TaLibStandard](https://img.shields.io/github/stars/phmatray/TaLibStandard?style=social)](https://github.com/phmatray/TaLibStandard) [![forks - TaLibStandard](https://img.shields.io/github/forks/phmatray/TaLibStandard?style=social)](https://github.com/phmatray/TaLibStandard) @@ -20,77 +20,135 @@ A modern and robust C# Technical Analysis library based on the original open-sou --- +## πŸ“ Table of Contents + * [TaLibStandard](#talibstandard) - * [Introduction](#introduction) - * [Goal](#goal) - * [Getting started](#getting-started) - * [Features](#features) - * [Library](#library) - * [Tests Specifications](#tests-specifications) - * [Installation](#installation) - * [Code Quality](#code-quality) - * [Issues and Feature Requests](#issues-and-feature-requests) - * [Contributing](#contributing) - * [Release notes](#release-notes) - * [Licence](#licence) + * [πŸ“ Table of Contents](#-table-of-contents) + * [πŸ“š Introduction](#-introduction) + * [🎯 Goal](#-goal) + * [🏁 Getting started](#-getting-started) + * [πŸ“Œ Features](#-features) + * [Roadmap (next features)](#roadmap-next-features) + * [πŸ“„ Documentation](#-documentation) + * [πŸ“₯ Installation](#-installation) + * [πŸ“‹ Prerequisites](#-prerequisites) + * [πŸš€ We use the latest C# features](#-we-use-the-latest-c-features) + * [πŸ“¦ NuGet Packages](#-nuget-packages) + * [πŸ§ͺ Tests Specifications](#-tests-specifications) + * [πŸ’Ύ Installation](#-installation-1) + * [πŸ“Š Code Quality](#-code-quality) + * [❓ Issues and Feature Requests](#-issues-and-feature-requests) + * [🀝 Contributing](#-contributing) + * [🌟 Contributors](#-contributors) + * [βœ‰οΈ Contact](#-contact) + * [πŸ“ Release notes](#-release-notes) + * [πŸ“œ License](#-license) -## Introduction +## πŸ“š Introduction TaLibStandard is a modern interpretation of the widely used [TA-Lib](https://ta-lib.org), reimagined in C# 12. It is designed to be reliable, efficient, and user-friendly for developers performing financial market analysis. The addition of .NET's Generic Math feature allows for a richer, more flexible library that can handle a variety of number types. -## Goal +## 🎯 Goal The primary objective of TaLibStandard is to provide a comprehensive, feature-rich and accessible library for conducting technical analysis on financial market data. -## Getting started +## 🏁 Getting started To get started with TaLibStandard, you can clone the repository and explore the examples provided in the `examples` directory. You can also refer to the list of [available functions](./docs/functions.md) in the documentation for a comprehensive overview of the library's capabilities. -## Features +## πŸ“Œ Features - * Support for Double, Float, and Decimal data types, with the help of .NET's Generic Math - * With some basic tests (coverage: 85%) - * Comprehensive API documentation that is easy to understand + * [x] Support for Double, Float, and Decimal data types, with the help of .NET's Generic Math + * [x] With some basic tests (coverage: >= 80%) -### Library +### Roadmap (next features) - * Target framework : .NET 8 - * Language version : C# 12 + * [ ] Comprehensive API documentation that is easy to understand + * [ ] High-Level API for common use cases + * [ ] Support for more data types + * [ ] Support for more functions + * [ ] .NET Exception handling (BREAKING CHANGE) + * [ ] More tests + * [ ] More examples + +## πŸ“„ Documentation + +**TaLibStandard** provides a [COMPLETE DOCUMENTATION](https://github.com/phmatray/TaLibStandard/blob/main/docs/README.md) of the library. + +All summaries are written in English. If you want to help us translate the documentation, please open an issue to +discuss it. + +> **Note:** The documentation is generated using [Doraku/DefaultDocumentation]() tool. It is generated automatically when the project is built. + +## πŸ“₯ Installation + +### πŸ“‹ Prerequisites + +- .NET 8.0 (supported versions: 8.x) +- A C# IDE (Visual Studio, JetBrains Rider, etc.) +- A C# compiler (dotnet CLI, etc.) + +### πŸš€ We use the latest C# features -### Tests Specifications +This library targets .NET 8.0 and uses the latest C# features. It is written in C# 12.0 and uses the new `init` +properties, `record` types, `switch` expressions, `using` declarations and more. -* Target framework : .NET 8 -* Language version : C# 12 -* xUnit and FluentAssertions +I invite you to read the [C# 12.0 documentation](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-12) to +learn more about these features. -## Installation +### πŸ“¦ NuGet Packages + +| Package Name | NuGet Version Badge | NuGet Downloads Badge | +|--------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------| +| Atypical.TechnicalAnalysis.Candles | [![NuGet](https://img.shields.io/nuget/v/Atypical.TechnicalAnalysis.Candles.svg)](https://www.nuget.org/packages/Atypical.TechnicalAnalysis.Candles) | [![NuGet](https://img.shields.io/nuget/dt/Atypical.TechnicalAnalysis.Candles.svg)](https://www.nuget.org/packages/Atypical.TechnicalAnalysis.Candles) | +| Atypical.TechnicalAnalysis.Functions | [![NuGet](https://img.shields.io/nuget/v/Atypical.TechnicalAnalysis.Functions.svg)](https://www.nuget.org/packages/Atypical.TechnicalAnalysis.Functions) | [![NuGet](https://img.shields.io/nuget/dt/Atypical.TechnicalAnalysis.Functions.svg)](https://www.nuget.org/packages/Atypical.TechnicalAnalysis.Functions) | +| Atypical.TechnicalAnalysis.Core | [![NuGet](https://img.shields.io/nuget/v/Atypical.TechnicalAnalysis.Common.svg)](https://www.nuget.org/packages/Atypical.TechnicalAnalysis.Common) | [![NuGet](https://img.shields.io/nuget/dt/Atypical.TechnicalAnalysis.Common.svg)](https://www.nuget.org/packages/Atypical.TechnicalAnalysis.Common) | + +This table is automatically updated regularly the latest developments and releases in the Atypical Technical Analysis suite. + +### πŸ§ͺ Tests Specifications + + * Target framework : .NET 8 + * Language version : C# 12 + * xUnit and FluentAssertions + +## πŸ’Ύ Installation To install TaLibStandard, you can use the NuGet package manager. Run the following command in your terminal: ```shell -dotnet add package TaLibStandard +dotnet add package Atypical.TechnicalAnalysis.Candles +dotnet add package Atypical.TechnicalAnalysis.Functions ``` -## Code Quality +## πŸ“Š Code Quality We strive for the highest code quality in TaLibStandard, leveraging Codacyβ€”an automated code analysis/quality tool. Codacy provides static analysis, cyclomatic complexity measures, duplication identification, and code unit test coverage changes for every commit and pull request. View our Codacy metrics [here](https://app.codacy.com/gh/phmatray/TaLibStandard). -## Issues and Feature Requests +## ❓ Issues and Feature Requests For reporting bugs or suggesting new features, kindly submit these as an issue to the [TaLibStandard Repository](https://github.com/phmatray/TaLibStandard/issues). We value your contributions, but before submitting an issue, please ensure it is not a duplicate of an existing one. -## Contributing +## 🀝 Contributing We welcome contributions from the community! If you'd like to contribute to TaLibStandard, please fork the repository and submit a pull request. For major changes, please open an issue first to discuss what you would like to change. -## Release notes +## 🌟 Contributors + +[![Contributors](https://contrib.rocks/image?repo=phmatray/TaLibStandard)](http://contrib.rocks) + +## βœ‰οΈ Contact + +You can contact us by opening an issue on this repository. + +## πŸ“ Release notes (Add details of the version history, bug fixes, and new feature additions in each release here) -## Licence +## πŸ“œ License -GNU General Public License v3.0 +GNU General Public License v3.0 or later. diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..1e162725 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,23 @@ +# πŸ“„ TaLibStandard Documentation + +## πŸ“š Read the documentation + +### ...on GitHub (recommended) + +The main documentation for TaLibStandard is located in the following files. They are written in Markdown and can be read directly from GitHub: + +- **Candles**: [TechnicalAnalysis.Candles](https://github.com/phmatray/TaLibStandard/blob/main/docs/candles/TechnicalAnalysis.Candles.md) +- **Functions**: [TechnicalAnalysis.Functions](https://github.com/phmatray/TaLibStandard/blob/main/docs/functions/TechnicalAnalysis.Functions.md) +- **Common**: [TechnicalAnalysis.Common](https://github.com/phmatray/TaLibStandard/blob/main/docs/common/TechnicalAnalysis.Common.md) + +### ...in your IDE + +If you are using an IDE that supports Markdown, you can open the following files directly in your IDE: + +- **Candles**: [./docs/candles/TechnicalAnalysis.Candles.md](./candles/TechnicalAnalysis.Candles.md) +- **Functions**: [./docs/functions/TechnicalAnalysis.Functions.md](./functions/TechnicalAnalysis.Functions.md) +- **Common**: [./docs/common/TechnicalAnalysis.Common.md](./common/TechnicalAnalysis.Common.md) + +## 🀝 Contributing + +If you want to contribute to the documentation, just edit the summaries in the source code and build the solution. The documentation will be automatically generated in the `docs` folder. diff --git a/src/Directory.Build.props b/src/Directory.Build.props index c4f3b705..7ee8826d 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -14,7 +14,7 @@ Philippe Matray - TaLibStandard is a modern interpretation of the widely used [TA-Lib](https://ta-lib.org), + TaLibStandard is a modern interpretation of the widely used TA-Lib, reimagined in C# 12. It is designed to be reliable, efficient, and user-friendly for developers performing financial market analysis.