Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,6 @@ coverage.xml
/.eggs/
.vscode
/.venv/

# Ignore old venv location
/env/
67 changes: 67 additions & 0 deletions Agents.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@

# HL7 library for Python

## Project Overview

This is a standalone library for parsing HL7 v2.x messages, supporting the maintained versions of Python.

## Tech Stack

- **Testing**: Python unittest
- **Package Manager**: uv


## Project Structure

```
hl7/
tests/
docs/
```

## Development Guidelines

### Key Principles

## Environment Setup

### Installation Steps

```bash
# Run uv sync
make init
```

## Security Considerations

- Avoid introducing security issues.

## Testing Strategy

We aim for a high level of test coverage, primarily through unit tests.

- Occasionally we will use unittest.mock for things that may be otherwise hard to. When patching, prefer to use `autospec=True`
- Whenever you fix a bug, try to add a test case that documents the broken behavior is no longer happening.
- Additionally, we run our sphinx documentation through doctest, not to increase coverage, but to ensure the documentation accurately matches.

To run the test suite (will run tox for all supported Python versions as well as the doctests):

```bash
make tests
```

## Programmatic Checks for OpenAI Codex

To run ruff linting:

```bash
make lint
```

## Reference Resources

- [HL7 Definitions](https://hl7-definition.caristix.com/v2/)

## Changelog


2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ clean: clean-docs
rm -rf *.egg-info .mypy_cache coverage.xml .venv
find . -name "*.pyc" -type f -delete
find . -type d -empty -delete
# Legacy venv (remove eventually)
rm -rf env
.PHONY: clean-python


Expand Down
Loading