| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A modern reference project demonstrating how to set up, configure, and run a QuickFIX engine connection using Python. This repository includes both an Acceptor (Server) and an Initiator (Client) session configured to connect and exchange FIX messages.
├── acceptor/ # Acceptor (Server) Application
│ ├── Dockerfile # Optimized Docker configuration for Server
│ ├── server.py # Entry point for Server
│ ├── server.cfg # Server configuration
│ ├── application.py # Server session logic (QuickFIX Application)
│ └── start.sh # Acceptance startup script
├── initiator/ # Initiator (Client) Application
│ ├── Dockerfile # Optimized Docker configuration for Client
│ ├── client.py # Entry point for Client
│ ├── client.cfg # Client configuration
│ ├── application.py # Client session logic (QuickFIX Application)
│ └── start.sh # Initiation startup script
├── docker-compose.yml # Multi-container orchestration
├── requirements.txt # Project dependencies
└── README.md # Documentation
Choose one of the following methods to run the project:
Docker Compose orchestrates both Acceptor and Initiator containers automatically.
Create Environment Configuration: Create a .env file in the root directory:
APP_PORT=3000
WORKING_DIR=/appStart the Services: Run Docker Compose to build and start the containers:
docker compose up --buildInteractive Control & Logging:
docker compose logs -fdocker exec -it quickfix_initiator bash
docker exec -it quickfix_acceptor bashIf you prefer to run the components directly on your machine:
Install Dependencies: Ensure you use virtual environments to install dependencies.
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt[!TIP] We use quickfix-binary in requirements.txt to install precompiled wheels. This skips the long, resource-intensive C++ compilation process!
Prepare Session Storage: Create a folder to store session state files:
rm -rf ./Sessions && mkdir -p ./Sessions && chmod 755 ./SessionsRun the Acceptor (Server) First: Navigate to the acceptor directory and run:
cd acceptor
python server.py server.cfgRun the Initiator (Client): Open a new terminal session, activate your virtual environment, and run:
cd initiator
python client.py client.cfgImportant
Startup Order: Always start the Acceptor server first. The Initiator client will continuously attempt to connect once active.
This repository contains optimization features designed to speed up the developer workflow:
| Back | FazBrowse Home | New Git URL |