{"library":"simplefix","title":"Simple FIX Protocol Implementation","description":"SimpleFIX is a Python library that provides a straightforward implementation of the FIX (Financial Information eXchange) application-layer protocol. It enables the creation, encoding, and decoding of FIX messages. Unlike full-fledged FIX engines, SimpleFIX focuses solely on message handling and does not include functionality for socket communication, session management, recovery, or message persistence. The library is actively maintained, with its latest version being 1.0.17.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install simplefix"],"cli":null},"imports":["import simplefix\nmessage = simplefix.FixMessage()","import simplefix\nparser = simplefix.FixParser()"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import simplefix\nimport datetime\n\n# Create a FIX message\nmessage = simplefix.FixMessage()\nmessage.append_pair(8, \"FIX.4.2\") # BeginString\nmessage.append_pair(35, \"D\")    # MsgType - New Order Single\nmessage.append_pair(49, \"SENDER\") # SenderCompID\nmessage.append_pair(56, \"TARGET\") # TargetCompID\nmessage.append_pair(11, \"ORDER123\") # ClOrdID\nmessage.append_pair(21, 1)      # HandlInst\nmessage.append_pair(55, \"IBM\")   # Symbol\nmessage.append_pair(54, 1)      # Side - Buy\nmessage.append_pair(60, datetime.datetime.utcnow(), fix_type=simplefix.FIX_UTC_TIMESTAMP) # TransactTime\nmessage.append_pair(38, 100)    # OrderQty\nmessage.append_pair(40, 1)      # OrdType - Market\n\n# Encode the message\nencoded_message = message.encode()\nprint(f\"Encoded Message: {encoded_message.decode('ascii').replace(chr(1), '|')}\")\n\n# Parse a FIX message\nparser = simplefix.FixParser()\nparser.append_buffer(encoded_message)\n\nparsed_message = parser.get_message()\n\nif parsed_message:\n    print(f\"Parsed MsgType: {parsed_message.get(35).decode('ascii')}\")\n    print(f\"Parsed Symbol: {parsed_message.get(55).decode('ascii')}\")\nelse:\n    print(\"No complete message found in buffer.\")","lang":"python","description":"This quickstart demonstrates how to create a FIX 'New Order Single' message, append various standard fields including a UTC timestamp, encode it into bytes, and then parse it back using the `FixParser`. Standard FIX header tags like BeginString (8), MsgType (35), SenderCompID (49), and TargetCompID (56) are included, along with common order fields.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"1.0.17","pypi_latest":"1.0.17","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.5,"avg_import_s":0.01,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"simplefix","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.01,"mem_mb":1.2,"disk_size":"17.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"simplefix","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.5,"import_time_s":0.01,"mem_mb":1.2,"disk_size":"18M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"simplefix","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.02,"mem_mb":1.2,"disk_size":"19.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"simplefix","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.5,"import_time_s":0.02,"mem_mb":1.2,"disk_size":"20M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"simplefix","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.02,"mem_mb":0.8,"disk_size":"11.7M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"simplefix","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.4,"import_time_s":0.02,"mem_mb":0.8,"disk_size":"12M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"simplefix","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.01,"mem_mb":0.9,"disk_size":"11.4M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"simplefix","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.4,"import_time_s":0.01,"mem_mb":0.7,"disk_size":"12M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"simplefix","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.01,"mem_mb":1,"disk_size":"17.4M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"simplefix","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.6,"import_time_s":0.01,"mem_mb":1,"disk_size":"18M"}]}}