IRSx 프로젝트 사용 가이드

프로젝트 구조 및 설명

IRSx는 미국 세무서(IRS)의 990 양식 XML 파일을 표준화된 파이썬 객체, JSON, 또는 인간이 읽기 쉬운 텍스트 형식으로 변환하는 도구입니다. 프로젝트의 주요 디렉터리 구조는 다음과 같습니다:

irsx/
├── irs_reader/
│   ├── __init__.py
│   ├── metadata/
│   │   ├── __init__.py
│   │   └── ...
│   ├── samples/
│   │   └── ...
│   ├── __main__.py
│   ├── architecture.md
│   ├── CHANGELOG.md
│   ├── LICENSE
│   ├── MANIFEST.in
│   ├── README.md
│   ├── roadmap.md
│   ├── setup.cfg
│   ├── setup.py
│   ├── tests.py
│   └── tox.ini
├── .gitignore
├── .gitmodules
└── ...

디렉터리 구성 요소 설명

  • irs_reader/: 핵심 로직이 포함된 메인 코드 폴더로, 990 XML 데이터를 파싱하고 처리하는 기능을 담당합니다.
  • __init__.py: 패키지 초기화 파일이며, 모듈 간의 연결을 설정합니다.
  • metadata/: 양식 필드 정의, 변수 매핑, 스키마 정보 등 메타데이터를 저장합니다.
  • samples/: 실제 990 파일 예제를 포함하며, 테스트 및 사용법 확인에 활용됩니다.
  • __main__.py: 명령줄 인터페이스를 제공하는 진입점 파일입니다. 이 파일을 통해 프로그램 실행이 가능합니다.
  • architecture.md: 시스템 아키텍처와 컴포넌트 간 관계를 문서화한 파일입니다.
  • CHANGELOG.md: 각 버전별 변경 사항을 기록합니다.
  • LICENSE: 프로젝트 라이선스 정보 (MIT)를 포함합니다.
  • MANIFEST.in: 배포 패키지에 포함될 파일 목록을 정의합니다.
  • README.md: 설치 방법, 사용 예시, 기능 안내 등 기본 정보가 포함됩니다.
  • roadmap.md: 개발 방향성과 계획된 기능 목록을 제시합니다.
  • setup.cfg: 패키지 설치 설정 및 의존성 정보를 포함합니다.
  • setup.py: 패키지 빌드 및 설치를 위한 스크립트입니다.
  • tests.py: 단위 테스트 코드가 작성된 파일입니다.
  • tox.ini: 다양한 파이썬 환경에서 자동 테스트를 수행하기 위한 설정 파일입니다.
  • .gitignore: Git에 추적하지 않아야 할 파일들을 지정합니다.
  • .gitmodules: 외부 저장소를 포함하는 서브모듈 설정을 관리합니다.

실행 방법

IRSx는 명령줄 도구로 제공되며, irs_reader/__main__.py 파일이 실행 포인트입니다.

다음 두 가지 방식으로 프로그램을 시작할 수 있습니다:

python -m irs_reader
irsx

이후에는 특정 990 XML 파일을 인수로 전달하여 분석을 시작할 수 있습니다.

설정 파일 설명

프로젝트는 주로 두 가지 설정 파일을 사용합니다: setup.cfgtox.ini.

setup.cfg

패키지 정보, 의존성, 설치 옵션 등을 정의하는 구성 파일입니다.

[metadata]
name = irsx
version = 0.1
description = Convert IRS 990 XML nonprofit tax returns into structured Python objects, JSON, or readable text with original line numbers and descriptions
author = jsfenfen
license = MIT

[options]
packages = find:
install_requires =
    lxml
    requests
    ...

tox.ini

다중 파이썬 버전에서 자동 테스트를 수행하도록 설정합니다.

[tox]
envlist = py36,py37,py38

[testenv]
deps =
    pytest
commands =
    pytest tests.py

이러한 설정을 통해 프로젝트는 쉽게 설치, 테스트, 유지보수가 가능합니다.

태그: IRS 990 XML Parsing python lxml

6월 27일 01:17에 게시됨