Creo que vas a tener problemas para encontrar o hacer ese paquete.
Para representar conexiones, hay muchos formatos de netlist; varios paquetes de EDA utilizan formatos basados en texto para la representación interna, y casi todos pueden generar una lista de red con formato de texto. Este es probablemente el tercio más fácil de lo que quieres. No tengo conocimiento de ninguna que tenga una sintaxis que sea fácil de escribir y realizar un seguimiento de.
La funcionalidad de etiquetado y definición está típicamente contenida en una biblioteca de piezas. Una vez más, hay formatos basados en texto para esto. Algunos fabricantes publican pines basados en texto de todos sus componentes para usarlos en la generación de una biblioteca. Esta funcionalidad probablemente debería estar separada de las listas de redes, es decir, harás #import y luego crearás una instancia.
Poner estos componentes de manera sensata es el último tercio del problema, pero sería el 99.99% del esfuerzo. Como dijo Mark, los esquemas son para los humanos. Existen algunas reglas básicas, como los voltajes son más altos en la parte superior y los flujos de señales / datos de izquierda a derecha que ayudan a hacer que los esquemas sean más legibles, pero hay una gran cantidad de información contenida en la disposición de los símbolos que sería difícil, si no imposible, representar. en una lista de red u otro formato de código. Los autorouters son un proyecto de código de un dólar muy alto, y el cambio automático sería, si pudieran hacer que funcione bien. Estas herramientas se usan en PCB, que generalmente no contienen información semántica en su ubicación.
Si puedes generar un esquema a partir de un código que sea casi tan legible como un esquema diseñado por humanos, entonces serás un millonario en ningún momento.