pyASDReader 1.2.1__tar.gz → 1.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. pyasdreader-1.2.3/.codecov.yml +68 -0
  2. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/CHANGELOG.md +90 -0
  3. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/PKG-INFO +15 -66
  4. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/README.md +14 -65
  5. pyasdreader-1.2.3/VERSION_MANAGEMENT.md +539 -0
  6. pyasdreader-1.2.3/coverage.json +1 -0
  7. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/pyASDReader.egg-info/SOURCES.txt +3 -1
  8. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/pyproject.toml +1 -1
  9. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/src/_version.py +1 -1
  10. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/src/asd_file_reader.py +6 -1
  11. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/src/file_attributes.py +5 -5
  12. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/test_asd_file_reader.py +174 -27
  13. pyasdreader-1.2.3/tests/test_file_attributes.py +137 -0
  14. pyasdreader-1.2.1/CITATION.cff +0 -22
  15. pyasdreader-1.2.1/VERSION_MANAGEMENT.md +0 -303
  16. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/.pre-commit-config.yaml +0 -0
  17. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/LICENSE +0 -0
  18. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/MANIFEST.in +0 -0
  19. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/examples/README.md +0 -0
  20. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/examples/basic_usage.py +0 -0
  21. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/scripts/publish.sh +0 -0
  22. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/setup.cfg +0 -0
  23. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/src/__init__.py +0 -0
  24. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/src/constant.py +0 -0
  25. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/src/logger_setup.py +0 -0
  26. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/__init__.py +0 -0
  27. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v6sample/v6sample00000.asd +0 -0
  28. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v6sample/v6sample00001.asd +0 -0
  29. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v6sample/v6sample00002.asd +0 -0
  30. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v7sample/v7sample00000.asd +0 -0
  31. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v7sample/v7sample00001.asd +0 -0
  32. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v7sample/v7sample00002.asd +0 -0
  33. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v7sample/v7sample00003.asd +0 -0
  34. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v7sample/v7sample00004.asd +0 -0
  35. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v7sample/v7sample00005.asd +0 -0
  36. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v7sample_field_spectroscopy/44231B009-1-FW300000.asd +0 -0
  37. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v7sample_field_spectroscopy/44231B009-1-FW3R00000.asd +0 -0
  38. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v7sample_field_spectroscopy/44231B174-1-FF300000.asd +0 -0
  39. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v8sample/v8sample00001.asd +0 -0
  40. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/sample_data/v8sample/v8sample00002.asd +0 -0
  41. {pyasdreader-1.2.1 → pyasdreader-1.2.3}/tests/test_data.py +0 -0
@@ -0,0 +1,68 @@
1
+ codecov:
2
+ require_ci_to_pass: yes
3
+ notify:
4
+ wait_for_ci: yes
5
+
6
+ coverage:
7
+ precision: 2
8
+ round: down
9
+ range: "70...100"
10
+
11
+ status:
12
+ project:
13
+ default:
14
+ target: auto
15
+ threshold: 1%
16
+ informational: false
17
+ patch:
18
+ default:
19
+ target: auto
20
+ threshold: 1%
21
+ informational: false
22
+
23
+ comment:
24
+ layout: "reach,diff,flags,files,footer"
25
+ behavior: default
26
+ require_changes: false
27
+ require_base: false
28
+ require_head: true
29
+
30
+ flags:
31
+ ubuntu-latest-py3.8:
32
+ carryforward: false
33
+ ubuntu-latest-py3.9:
34
+ carryforward: false
35
+ ubuntu-latest-py3.10:
36
+ carryforward: false
37
+ ubuntu-latest-py3.11:
38
+ carryforward: false
39
+ ubuntu-latest-py3.12:
40
+ carryforward: false
41
+ windows-latest-py3.8:
42
+ carryforward: false
43
+ windows-latest-py3.9:
44
+ carryforward: false
45
+ windows-latest-py3.10:
46
+ carryforward: false
47
+ windows-latest-py3.11:
48
+ carryforward: false
49
+ windows-latest-py3.12:
50
+ carryforward: false
51
+ macos-latest-py3.8:
52
+ carryforward: false
53
+ macos-latest-py3.9:
54
+ carryforward: false
55
+ macos-latest-py3.10:
56
+ carryforward: false
57
+ macos-latest-py3.11:
58
+ carryforward: false
59
+ macos-latest-py3.12:
60
+ carryforward: false
61
+
62
+ ignore:
63
+ - "tests/"
64
+ - "examples/"
65
+ - "docs/"
66
+ - "scripts/"
67
+ - "**/__pycache__"
68
+ - "*.pyc"
@@ -13,6 +13,96 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
13
13
 
14
14
  ## [Unreleased]
15
15
 
16
+ ## [1.2.3] - 2025-10-07
17
+
18
+ ### Added
19
+ - 📚 **Documentation Section** - Added comprehensive documentation links in README.md
20
+ - Link to CHANGELOG.md for version history and feature updates
21
+ - Link to VERSION_MANAGEMENT.md for release workflow and branch strategy
22
+ - Links to GitHub Issues and Discussions for community engagement
23
+
24
+ ### Changed
25
+ - 🏗️ **Branch Strategy Documentation** - Major update to VERSION_MANAGEMENT.md
26
+ - Added detailed branch strategy section explaining dev/main workflow
27
+ - Updated release workflow with 4-step process including branch merge requirement
28
+ - Enhanced publishing scenarios (normal release, hotfix, quick release)
29
+ - Expanded best practices from 8 to 10 comprehensive guidelines
30
+ - Updated quick reference with branch-specific commands
31
+
32
+ - 🔄 **Enhanced CI/CD Workflows** - Intelligent optimization for GitHub Actions
33
+ - Added TestPyPI test reuse mechanism in PyPI workflow (saves approximately 45 minutes per release)
34
+ - Implemented 7-day test validity window for TestPyPI results
35
+ - Added verification summary job with detailed test status reporting
36
+ - Optimized GitHub Actions minutes usage (approximately 40% savings)
37
+ - Enhanced workflow comments and documentation
38
+
39
+ ### Fixed
40
+ - 🐛 **Python 3.8 Compatibility** - Resolved f-string syntax issues in CI workflows
41
+ - Fixed package metadata verification step in publish-to-pypi.yml
42
+ - Fixed package metadata verification step in publish-to-testpypi.yml
43
+ - Resolved f-string backslash syntax error (not supported in Python 3.8)
44
+ - Ensured compatibility across all supported Python versions (3.8-3.12)
45
+
46
+ ### Technical Improvements
47
+ - Better CI/CD resource optimization with intelligent test reuse
48
+ - Clearer release workflow documentation for contributors
49
+ - Improved branch management guidelines
50
+ - Enhanced Python version compatibility in automated workflows
51
+
52
+ ## [1.2.2] - 2025-10-05
53
+
54
+ ### Added
55
+ - 📋 **Codecov Configuration** - Added `.codecov.yml` for comprehensive code coverage tracking
56
+ - Multi-platform coverage flags (Ubuntu, Windows, macOS)
57
+ - Per-Python-version coverage tracking (3.8-3.12)
58
+ - Automatic coverage status checks on PRs
59
+ - Detailed coverage reporting with customizable thresholds
60
+ - ✅ **Enhanced Test Suite** - Significantly expanded test coverage
61
+ - Added `test_file_attributes.py` with 12 comprehensive test cases for FileAttributes class
62
+ - Expanded `test_asd_file_reader.py` with new property tests and validation tests
63
+ - Added tests for spectral data parsing, constituent types, BSTR, and audit events
64
+ - Improved test coverage for file version validation, GPS parsing, and datetime handling
65
+ - 📊 **Coverage Reporting** - Added `coverage.json` for detailed coverage metrics
66
+ - Per-file coverage statistics
67
+ - Function-level coverage tracking
68
+ - Class-level coverage analysis
69
+
70
+ ### Changed
71
+ - 🏗️ **Improved Code Structure** - Enhanced ASDFile class inheritance
72
+ - `ASDFile` now properly inherits from `FileAttributes` class
73
+ - Better integration of file handling capabilities
74
+ - Improved logger initialization with proper setup in module scope
75
+ - 🔧 **Optimized CI/CD Workflows** - Performance improvements for GitHub Actions
76
+ - Removed redundant pip caching from PyPI verification steps
77
+ - Streamlined publish workflows for faster deployments
78
+ - 📚 **Updated Documentation** - Improved README formatting
79
+ - Fixed test workflow badge to reference correct workflow file
80
+ - Cleaned up citation section for better readability
81
+ - Removed verbose contribution and community sections for conciseness
82
+
83
+ ### Fixed
84
+ - 🐛 **Fixed FileAttributes Methods** - Corrected attribute naming inconsistencies
85
+ - Fixed `set_file_name()` method to use `self.filename` instead of `self.file_name`
86
+ - Fixed `set_file_path()` method to use `self.filepath` instead of `self.file_path`
87
+ - Improved consistency across FileAttributes class methods
88
+ - 🔧 **Enhanced Test Robustness** - Improved test initialization and execution
89
+ - Fixed ASDFile test initialization to work without parent class conflicts
90
+ - Added proper subTest contexts for all file iteration tests
91
+ - Improved error handling in test cases
92
+
93
+ ### Removed
94
+ - ❌ **CITATION.cff** - Temporarily removed to streamline package metadata
95
+ - Citation information now maintained in README only
96
+ - Reduces maintenance overhead for version updates
97
+ - GitHub citation feature still available via repository metadata
98
+
99
+ ### Technical Improvements
100
+ - Better test organization with comprehensive property testing
101
+ - Improved code coverage from ~61% to higher levels across core modules
102
+ - Enhanced file attribute handling with proper inheritance chain
103
+ - More reliable CI/CD pipeline with optimized caching strategy
104
+ - Better separation of concerns between file I/O and ASD parsing logic
105
+
16
106
  ## [1.2.1] - 2025-10-05
17
107
 
18
108
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyASDReader
3
- Version: 1.2.1
3
+ Version: 1.2.3
4
4
  Summary: A Python library for reading and parsing all versions of ASD binary spectral files
5
5
  Author-email: Kai Cao <caokai_cgs@163.com>
6
6
  Maintainer-email: Kai Cao <caokai_cgs@163.com>
@@ -86,7 +86,7 @@ Dynamic: license-file
86
86
  [![PyPI version](https://img.shields.io/pypi/v/pyASDReader?style=flat-square)](https://pypi.org/project/pyASDReader/)
87
87
  [![Python versions](https://img.shields.io/pypi/pyversions/pyASDReader?style=flat-square)](https://pypi.org/project/pyASDReader/)
88
88
  [![License](https://img.shields.io/github/license/KaiTastic/pyASDReader?style=flat-square)](https://github.com/KaiTastic/pyASDReader/blob/main/LICENSE)
89
- [![Tests](https://img.shields.io/github/actions/workflow/status/KaiTastic/pyASDReader/test.yml?branch=main&label=tests&style=flat-square)](https://github.com/KaiTastic/pyASDReader/actions)
89
+ [![Tests](https://img.shields.io/github/actions/workflow/status/KaiTastic/pyASDReader/python-package.yml?branch=main&label=tests&style=flat-square)](https://github.com/KaiTastic/pyASDReader/actions)
90
90
  [![Coverage](https://img.shields.io/codecov/c/github/KaiTastic/pyASDReader?style=flat-square)](https://codecov.io/gh/KaiTastic/pyASDReader)
91
91
 
92
92
  pyASDReader is a robust Python library designed to read and parse all versions (v1-v8) of ASD (Analytical Spectral Devices) binary spectral files. It provides seamless access to spectral data, metadata, and calibration information from various ASD instruments including FieldSpec, LabSpec, TerraSpec, and more.
@@ -142,6 +142,13 @@ pip install -e ".[dev]"
142
142
  pip install -e ".[all]"
143
143
  ```
144
144
 
145
+ ## Documentation
146
+
147
+ - **[CHANGELOG](CHANGELOG.md)** - Version history, feature updates, and bug fixes
148
+ - **[Version Management Guide](VERSION_MANAGEMENT.md)** - Release workflow, branch strategy, and CI/CD automation
149
+ - **[GitHub Issues](https://github.com/KaiTastic/pyASDReader/issues)** - Report bugs and request features
150
+ - **[GitHub Discussions](https://github.com/KaiTastic/pyASDReader/discussions)** - Ask questions and share ideas
151
+
145
152
  ## Quick Start
146
153
 
147
154
  ```python
@@ -388,67 +395,9 @@ Comprehensive export capabilities beyond the standard ASCII format:
388
395
  - Integration with popular spectral analysis libraries
389
396
 
390
397
 
391
-
392
- ## Contributing
393
-
394
- ### Development Setup
395
-
396
- 1. **Fork and Clone**:
397
- ```bash
398
- git clone https://github.com/yourusername/pyASDReader.git
399
- cd pyASDReader
400
- ```
401
-
402
- 2. **Create Development Environment**:
403
- ```bash
404
- python -m venv venv
405
- source venv/bin/activate # On Windows: venv\Scripts\activate
406
- pip install -e ".[dev]"
407
- ```
408
-
409
- 3. **Run Tests**:
410
- ```bash
411
- pytest tests/
412
- python -m pytest --cov=src --cov-report=html
413
- ```
414
-
415
- ### Contribution Guidelines
416
-
417
- - **Bug Reports**: Use GitHub Issues with detailed reproduction steps
418
- - **Feature Requests**: Open an issue to discuss before implementing
419
- - **Code Style**: Follow PEP 8 and use provided pre-commit hooks
420
- - **Testing**: Add tests for new features and ensure all tests pass
421
- - **Documentation**: Update README and docstrings for any API changes
422
-
423
- ### Development Workflow
424
-
425
- 1. Create a feature branch: `git checkout -b feature/amazing-feature`
426
- 2. Make your changes with appropriate tests
427
- 3. Run the test suite: `pytest`
428
- 4. Commit your changes: `git commit -m 'Add amazing feature'`
429
- 5. Push to your fork: `git push origin feature/amazing-feature`
430
- 6. Submit a Pull Request
431
-
432
- ## � Support & Community
433
-
434
- ### Getting Help
435
-
436
- - 📋 **GitHub Issues**: [Report bugs or request features](https://github.com/KaiTastic/pyASDReader/issues)
437
- - 📧 **Email**: `caokai_cgs@163.com` for direct support
438
- - 🔒 **Security**: Report vulnerabilities via the [Security Policy](SECURITY.md)
439
-
440
- ### Community Guidelines
441
-
442
- - Be respectful and inclusive
443
- - Help others learn and grow
444
- - Share knowledge and experiences
445
- - Provide constructive feedback
446
-
447
398
  ## Citation
448
399
 
449
- If you use pyASDReader in your research, please cite it using the information from t he [CITATION.cff](CITATION.cff) file.
450
-
451
- GitHub provides a "Cite this repository" button in the sidebar that automatically generates citations in multiple formats.
400
+ If you use pyASDReader in your research, please cite it using the following information:
452
401
 
453
402
  **BibTeX format**:
454
403
  ```bibtex
@@ -457,16 +406,16 @@ GitHub provides a "Cite this repository" button in the sidebar that automaticall
457
406
  title = {pyASDReader: A Python Library for ASD Spectral File Reading},
458
407
  year = {2025},
459
408
  url = {https://github.com/KaiTastic/pyASDReader},
460
- version = {see CITATION.cff for latest version}
409
+ version = {1.2.3}
461
410
  }
462
411
  ```
463
412
 
464
413
  **Plain text citation**:
465
- > Cao, Kai. (2025). pyASDReader: A Python Library for ASD Spectral File Reading. Available at: https://github.com/KaiTastic/pyASDReader
466
-
467
- For the most up-to-date version number and citation details, please refer to the [CITATION.cff](CITATION.cff) file or use GitHub's citation feature.
414
+ ```
415
+ Cao, Kai. (2025). pyASDReader: A Python Library for ASD Spectral File Reading. Available at: https://github.com/KaiTastic/pyASDReader
416
+ ```
468
417
 
469
- ## 📖 References
418
+ ## References
470
419
 
471
420
  ### Official Documentation
472
421
  - [ASD Inc. (2017). ASD File Format: Version 8 (Revision): 1-10](https://www.malvernpanalytical.com/en/learn/knowledge-center/user-manuals/asd-file-format-v8)
@@ -3,7 +3,7 @@
3
3
  [![PyPI version](https://img.shields.io/pypi/v/pyASDReader?style=flat-square)](https://pypi.org/project/pyASDReader/)
4
4
  [![Python versions](https://img.shields.io/pypi/pyversions/pyASDReader?style=flat-square)](https://pypi.org/project/pyASDReader/)
5
5
  [![License](https://img.shields.io/github/license/KaiTastic/pyASDReader?style=flat-square)](https://github.com/KaiTastic/pyASDReader/blob/main/LICENSE)
6
- [![Tests](https://img.shields.io/github/actions/workflow/status/KaiTastic/pyASDReader/test.yml?branch=main&label=tests&style=flat-square)](https://github.com/KaiTastic/pyASDReader/actions)
6
+ [![Tests](https://img.shields.io/github/actions/workflow/status/KaiTastic/pyASDReader/python-package.yml?branch=main&label=tests&style=flat-square)](https://github.com/KaiTastic/pyASDReader/actions)
7
7
  [![Coverage](https://img.shields.io/codecov/c/github/KaiTastic/pyASDReader?style=flat-square)](https://codecov.io/gh/KaiTastic/pyASDReader)
8
8
 
9
9
  pyASDReader is a robust Python library designed to read and parse all versions (v1-v8) of ASD (Analytical Spectral Devices) binary spectral files. It provides seamless access to spectral data, metadata, and calibration information from various ASD instruments including FieldSpec, LabSpec, TerraSpec, and more.
@@ -59,6 +59,13 @@ pip install -e ".[dev]"
59
59
  pip install -e ".[all]"
60
60
  ```
61
61
 
62
+ ## Documentation
63
+
64
+ - **[CHANGELOG](CHANGELOG.md)** - Version history, feature updates, and bug fixes
65
+ - **[Version Management Guide](VERSION_MANAGEMENT.md)** - Release workflow, branch strategy, and CI/CD automation
66
+ - **[GitHub Issues](https://github.com/KaiTastic/pyASDReader/issues)** - Report bugs and request features
67
+ - **[GitHub Discussions](https://github.com/KaiTastic/pyASDReader/discussions)** - Ask questions and share ideas
68
+
62
69
  ## Quick Start
63
70
 
64
71
  ```python
@@ -305,67 +312,9 @@ Comprehensive export capabilities beyond the standard ASCII format:
305
312
  - Integration with popular spectral analysis libraries
306
313
 
307
314
 
308
-
309
- ## Contributing
310
-
311
- ### Development Setup
312
-
313
- 1. **Fork and Clone**:
314
- ```bash
315
- git clone https://github.com/yourusername/pyASDReader.git
316
- cd pyASDReader
317
- ```
318
-
319
- 2. **Create Development Environment**:
320
- ```bash
321
- python -m venv venv
322
- source venv/bin/activate # On Windows: venv\Scripts\activate
323
- pip install -e ".[dev]"
324
- ```
325
-
326
- 3. **Run Tests**:
327
- ```bash
328
- pytest tests/
329
- python -m pytest --cov=src --cov-report=html
330
- ```
331
-
332
- ### Contribution Guidelines
333
-
334
- - **Bug Reports**: Use GitHub Issues with detailed reproduction steps
335
- - **Feature Requests**: Open an issue to discuss before implementing
336
- - **Code Style**: Follow PEP 8 and use provided pre-commit hooks
337
- - **Testing**: Add tests for new features and ensure all tests pass
338
- - **Documentation**: Update README and docstrings for any API changes
339
-
340
- ### Development Workflow
341
-
342
- 1. Create a feature branch: `git checkout -b feature/amazing-feature`
343
- 2. Make your changes with appropriate tests
344
- 3. Run the test suite: `pytest`
345
- 4. Commit your changes: `git commit -m 'Add amazing feature'`
346
- 5. Push to your fork: `git push origin feature/amazing-feature`
347
- 6. Submit a Pull Request
348
-
349
- ## � Support & Community
350
-
351
- ### Getting Help
352
-
353
- - 📋 **GitHub Issues**: [Report bugs or request features](https://github.com/KaiTastic/pyASDReader/issues)
354
- - 📧 **Email**: `caokai_cgs@163.com` for direct support
355
- - 🔒 **Security**: Report vulnerabilities via the [Security Policy](SECURITY.md)
356
-
357
- ### Community Guidelines
358
-
359
- - Be respectful and inclusive
360
- - Help others learn and grow
361
- - Share knowledge and experiences
362
- - Provide constructive feedback
363
-
364
315
  ## Citation
365
316
 
366
- If you use pyASDReader in your research, please cite it using the information from t he [CITATION.cff](CITATION.cff) file.
367
-
368
- GitHub provides a "Cite this repository" button in the sidebar that automatically generates citations in multiple formats.
317
+ If you use pyASDReader in your research, please cite it using the following information:
369
318
 
370
319
  **BibTeX format**:
371
320
  ```bibtex
@@ -374,16 +323,16 @@ GitHub provides a "Cite this repository" button in the sidebar that automaticall
374
323
  title = {pyASDReader: A Python Library for ASD Spectral File Reading},
375
324
  year = {2025},
376
325
  url = {https://github.com/KaiTastic/pyASDReader},
377
- version = {see CITATION.cff for latest version}
326
+ version = {1.2.3}
378
327
  }
379
328
  ```
380
329
 
381
330
  **Plain text citation**:
382
- > Cao, Kai. (2025). pyASDReader: A Python Library for ASD Spectral File Reading. Available at: https://github.com/KaiTastic/pyASDReader
383
-
384
- For the most up-to-date version number and citation details, please refer to the [CITATION.cff](CITATION.cff) file or use GitHub's citation feature.
331
+ ```
332
+ Cao, Kai. (2025). pyASDReader: A Python Library for ASD Spectral File Reading. Available at: https://github.com/KaiTastic/pyASDReader
333
+ ```
385
334
 
386
- ## 📖 References
335
+ ## References
387
336
 
388
337
  ### Official Documentation
389
338
  - [ASD Inc. (2017). ASD File Format: Version 8 (Revision): 1-10](https://www.malvernpanalytical.com/en/learn/knowledge-center/user-manuals/asd-file-format-v8)