Skip to content

Conversation

@mjambon
Copy link
Member

@mjambon mjambon commented Dec 3, 2025

atdpy now honors <doc text="..."> annotations like atdgen and turns them into Python docstrings.

  • I ran make setup && make to update the generated code after editing a .atd file (TODO: have a CI check)
  • I made sure we're still backward compatible with old versions of the CLI.
    For example, the Semgrep backend need to still be able to consume data
    generated by Semgrep 1.50.0.
    See https://atd.readthedocs.io/en/latest/atdgen-tutorial.html#smooth-protocol-upgrades
    Note that the types related to the semgrep-core JSON output or the
    semgrep-core RPC do not need to be backward compatible!
  • Any accompanying changes in semgrep-proprietary are approved and ready to merge once this PR is merged

@mjambon mjambon marked this pull request as draft December 3, 2025 04:41
@github-actions
Copy link

github-actions bot commented Dec 3, 2025

Backwards compatibility summary:

Checking backward compatibility of semgrep_output_v1.atd against past version v1.100.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.101.0
Skipping v1.102.0 because commit 1c82453e89e0b569630e48ddde015e201df0e5f9 has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.103.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.104.0
Skipping v1.106.0 because commit 5e0c767ec323f3f2356d3bf8dbdf7c7836497d8a has already been checked
Skipping v1.107.0 because commit 5e0c767ec323f3f2356d3bf8dbdf7c7836497d8a has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.108.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.109.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.110.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.111.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.112.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.113.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.114.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.116.0
Skipping v1.117.0 because commit 5c6a8f569d16845ba10c27d17eeae68e481340d6 has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.118.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.119.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.120.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.121.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.122.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.123.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.124.0
Skipping v1.124.1 because commit 75ab2f389a373af38a2a29872b4fa1c654d182f0 has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.125.0
Skipping v1.126.0 because commit 02c7c65f6508daac0c9d5c0c54981731a134b038 has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.127.0
Skipping v1.127.1 because commit 80fa4d2466c737b570c4f363edadc2b336e5696d has already been checked
Skipping v1.128.0 because commit 80fa4d2466c737b570c4f363edadc2b336e5696d has already been checked
Skipping v1.128.1 because commit 80fa4d2466c737b570c4f363edadc2b336e5696d has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.130.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.131.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.132.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.132.1
Checking backward compatibility of semgrep_output_v1.atd against past version v1.133.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.134.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.135.0
Skipping v1.136.0 because commit 85c728ef38c1aef822f28035078fa2671ec7d10a has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.137.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.137.1
Checking backward compatibility of semgrep_output_v1.atd against past version v1.138.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.139.0
Skipping v1.140.0 because commit 8baadf6b8604b59c9a660dbb371726c12a3666b8 has already been checked
Skipping v1.141.0 because commit 8baadf6b8604b59c9a660dbb371726c12a3666b8 has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.142.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.143.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.144.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.145.0
Skipping v1.145.2 because commit e5da9678488bc24e0d5c27a4de71ad67d375cc58 has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.146.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.75.0
Skipping v1.76.0 because commit 9102031608aa4154e1c37f557550ec4eabc8780c has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.77.0
Skipping v1.78.0 because commit dcb5d77b420ddee61f58aadd3c2c7aef38778154 has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.79.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.80.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.81.0
Skipping v1.82.0 because commit 9e0f3bec26b07b4fb6753a32cb75277f45f2572c has already been checked
Skipping v1.83.0 because commit 9e0f3bec26b07b4fb6753a32cb75277f45f2572c has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.84.0
Skipping v1.84.1 because commit 3daef49297ada205359cc1d2996354c94b628b0d has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.85.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.86.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.87.0
Skipping v1.88.0 because commit 512c0bd97db59c48a5705b2741662a338776e438 has already been checked
Skipping v1.89.0 because commit 512c0bd97db59c48a5705b2741662a338776e438 has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.90.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.91.0
Skipping v1.92.0 because commit 2351c5e528cb7430422208dc66707894c066b508 has already been checked
Checking backward compatibility of semgrep_output_v1.atd against past version v1.93.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.94.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.95.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.96.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.97.0
Checking backward compatibility of semgrep_output_v1.atd against past version v1.98.0
Skipping v1.99.0 because commit 60809032a2e39742f42910d46b3e5dd305b8b8cf has already been checked

@mjambon
Copy link
Member Author

mjambon commented Dec 10, 2025

Waiting for the opam release of atdpy 3.0.0 that's in progress at ocaml/opam-repository#29054

@mjambon mjambon changed the title Regenerate semgrep_output_v1.py with the latest atdpy (unreleased, coming soon) Regenerate semgrep_output_v1.py with atdpy 3.0.1 Dec 19, 2025
@mjambon mjambon force-pushed the martin/atdpy-doc-demo branch from cd5abe7 to 0bbbbf5 Compare December 19, 2025 04:46
@mjambon mjambon requested a review from nmote December 19, 2025 19:44
@mjambon mjambon marked this pull request as ready for review December 19, 2025 19:44
@mjambon mjambon merged commit 533177d into main Dec 19, 2025
5 checks passed
@mjambon mjambon deleted the martin/atdpy-doc-demo branch December 19, 2025 20:35
semgrep-ci bot pushed a commit to semgrep/semgrep that referenced this pull request Dec 22, 2025
In order to get doc comments as Python docstrings in the Python code generated by atdpy in semgrep-interfaces, we need atdpy >= 3.0.0 which requires upgrading the other atd tools, requiring an upgrade to yojson 3.

This PR uses semgrep/semgrep-interfaces#426 which regenerates the Python code with the changes we care about + the OCaml code with the changes needed for compatibility with yojson 3.

Test plan: CI checks

synced from Pro 773c2c6601ff5a7a37704591a5d73e3d105b80ee
semgrep-ci bot pushed a commit to semgrep/semgrep that referenced this pull request Dec 22, 2025
In order to get doc comments as Python docstrings in the Python code generated by atdpy in semgrep-interfaces, we need atdpy >= 3.0.0 which requires upgrading the other atd tools, requiring an upgrade to yojson 3.

This PR uses semgrep/semgrep-interfaces#426 which regenerates the Python code with the changes we care about + the OCaml code with the changes needed for compatibility with yojson 3.

Test plan: CI checks

synced from Pro 773c2c6601ff5a7a37704591a5d73e3d105b80ee
semgrep-ci bot pushed a commit to semgrep/semgrep that referenced this pull request Dec 22, 2025
In order to get doc comments as Python docstrings in the Python code generated by atdpy in semgrep-interfaces, we need atdpy >= 3.0.0 which requires upgrading the other atd tools, requiring an upgrade to yojson 3.

This PR uses semgrep/semgrep-interfaces#426 which regenerates the Python code with the changes we care about + the OCaml code with the changes needed for compatibility with yojson 3.

Test plan: CI checks

synced from Pro 773c2c6601ff5a7a37704591a5d73e3d105b80ee
yosefAlsuhaibani pushed a commit to semgrep/semgrep that referenced this pull request Dec 22, 2025
In order to get doc comments as Python docstrings in the Python code generated by atdpy in semgrep-interfaces, we need atdpy >= 3.0.0 which requires upgrading the other atd tools, requiring an upgrade to yojson 3.

This PR uses semgrep/semgrep-interfaces#426 which regenerates the Python code with the changes we care about + the OCaml code with the changes needed for compatibility with yojson 3.

Test plan: CI checks

synced from Pro 773c2c6601ff5a7a37704591a5d73e3d105b80ee
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants