Git Product home page Git Product logo

Comments (3)

Hyask avatar Hyask commented on August 25, 2024

Also, the construct-typing package must be installed for properly type checking a project that uses construct. Unfortunately, construct-typing requires construct>=2.10.

Looking at the changelog, it doesn't seem like there were big removals or changes in the API. The only removal are Embedded and EmbeddedSwitch, but they don't seem to be in use in pdbparse, according to grep.

@moyix given your recent activity on this repo, do you think that would be doable for you to release a new version of pdbparse with the construct<2.10 constraint loosened? I can help provide feedback on this if need be.

from pdbparse.

Hyask avatar Hyask commented on August 25, 2024

Just to let people know, here is how I fixed the problem on my side:

  • edit setup.py with a new version and install_requires=["construct>=2.10", "construct<2.11", "pefile"]
  • run python3 -m build
  • the built wheel and source package (in ./dist) both work fine in my use-case, which is only getting a PDB's GUID:
def get_pdb_guid(filename_path: Path) -> str:
    try:
        p = pdbparse.parse(filename_path, fast_load=True)
        pdb = p.streams[pdbparse.PDB_STREAM_PDB]
        pdb.load()

        return (
            "%08x%04x%04x%s%x"
            % (
                pdb.GUID.Data1,
                pdb.GUID.Data2,
                pdb.GUID.Data3,
                binascii.hexlify(pdb.GUID.Data4).decode("ascii"),
                pdb.Age,
            )
        ).upper()
    except Exception as e:
        raise RuntimeError(e)

I've no idea if the rest of the pdbparse package work fine with a newer construct, but at least that's a start.

from pdbparse.

Hyask avatar Hyask commented on August 25, 2024

For those interested, you can put this line in your requirements.txt to use the version I mentioned just above:

pdbparse @ https://github.com/tetrane/pdbparse/raw/f29816285a5cbaf00bfe8c10379e664a5e4118ac/dist/pdbparse-1.5.1.tar.gz#sha256=1b046f137bc5b807983b15c1a1c71360faffad658be0ee4ba05763b0ab428486

from pdbparse.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.