delocate | Find and copy needed dynamic libraries into python wheels | Data Manipulation library

 by   matthew-brett Python Version: 0.11.0 License: BSD-2-Clause

kandi X-RAY | delocate Summary

kandi X-RAY | delocate Summary

delocate is a Python library typically used in Utilities, Data Manipulation, Numpy applications. delocate has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. You can install using 'pip install delocate' or download it from GitHub, PyPI.

Find and copy needed dynamic libraries into python wheels
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              delocate has a low active ecosystem.
              It has 217 star(s) with 47 fork(s). There are 10 watchers for this library.
              There were 2 major release(s) in the last 12 months.
              There are 26 open issues and 58 have been closed. On average issues are closed in 376 days. There are 7 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of delocate is 0.11.0

            kandi-Quality Quality

              delocate has 0 bugs and 0 code smells.

            kandi-Security Security

              delocate has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              delocate code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              delocate is licensed under the BSD-2-Clause License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              delocate releases are not available. You will need to build from source code and install.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              delocate saves you 1656 person hours of effort in developing the same functionality from scratch.
              It has 6393 lines of code, 286 functions and 60 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed delocate and discovered the below as its top functions. This is intended to give you an instant insight into delocate implemented functionality, and help decide if they suit your requirements.
            • Return a dict of cmdclass
            • Extract version information from VCS
            • Return the project root directory
            • Construct a ConfigParser from a root
            • Relocate a wheel in_sdir
            • Delete libpath from tree path
            • Ensures all libraries are unique
            • Return a dictionary with the stripped version of the lib_dict
            • Determine the directory to use for the library
            • Return a set of package directories in root_path
            • Create the versioneer config file
            • Install versioneer
            • Run git commands
            • Deletes the library tree
            • Extract the version information from the server
            • Render pyp440 - post - tag
            • Return a dictionary of libs from wheel files
            • Scans the setup py and returns a boolean indicating whether it is missing
            • Patch in_wheel with patch
            • Strips the lib_dict from the lib_dict
            • Decorator to ensure file permissions are set
            • Fuse from to_wheel
            • Fuse two trees
            • Compare two files
            • Copy a file to out_fname
            Get all kandi verified functions for this library.

            delocate Key Features

            No Key Features are available at this moment for delocate.

            delocate Examples and Code Snippets

            No Code Snippets are available at this moment for delocate.

            Community Discussions

            QUESTION

            Specify a path for ctypes.util.find_library() under macOS
            Asked 2020-Sep-12 at 01:00

            I'd like to specify a path for ctypes.util.find_library() to search. How can I do this?

            I'd like to do it from within Python.

            I'm using macOS.

            If I wanted to do it from outside Python, I can specify the location using LD_LIBRARY_PATH. However I have read that I cannot modify this environment variable from within Python as it is cached on Python's startup. Modifying the value and then restarting Python seems like a very unusable idea; for example, what would happen if the library was imported part way through execution?

            Why would I like to do this? Because I would like to add a MacOS wheel to a Python library that works under Windows. Currently they're packaging the DLLs into the same directory as the Python source files and adding that path to Windows' PATH environment, which ctypes.util.find_library() searches--a technique that I can't seem to replicate under Mac.

            I have tried to understand delocate. It seems to state that the Python library doesn't depend on any shared objects. I suspect this is because the dylibs are loaded dynamically using ctypes.util.find_library() rather than being compiled code within Python.

            Any suggestions would be gratefully received!

            ...

            ANSWER

            Answered 2020-Sep-12 at 01:00

            Although there are environment variables (LD_LIBRARY_PATH and DYLD_LIBRARY_PATH) that impact the search path for shared libraries, they are read and fixed by Python when Python starts up. Thus that option was eliminated.

            Instead, we took the approach hinted at in the Python documentation:

            If wrapping a shared library with ctypes, it may be better to determine the shared library name at development time, and hardcode that into the wrapper module instead of using find_library() to locate the library at runtime.

            We hard-coded the names of the libraries that were included for each operating system, plus we included a generic name for operating systems where the libraries were not included:

            Source https://stackoverflow.com/questions/63046995

            QUESTION

            Create Python C extension using MacOS 10.15 (Catalina) that is backwards compatible (MacOS10.9+)
            Asked 2020-Feb-28 at 00:13

            How can I create a Python C extension wheel for MacOS that is backwards compatible (MacOS 10.9+) using MacOS 10.15?

            This is what I have so far:

            ...

            ANSWER

            Answered 2020-Feb-28 at 00:13

            I found the solution to my problem and I will post the answer here in case someone else has the same problem.

            In order to fix the problem I had to also set export MACOSX_DEPLOYMENT_TARGET=10.9 before I install python using pyenv. Now pip wheel creates my wheel with the tag macosx_10_9_x86_64.

            Thank you.

            PS: When installing python via pyenv, python is compiled from source, and somehow it takes into account the flag MACOSX_DEPLOYMENT_TARGET.

            Source https://stackoverflow.com/questions/60432969

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install delocate

            You can install using 'pip install delocate' or download it from GitHub, PyPI.
            You can use delocate like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            Install
          • PyPI

            pip install delocate

          • CLONE
          • HTTPS

            https://github.com/matthew-brett/delocate.git

          • CLI

            gh repo clone matthew-brett/delocate

          • sshUrl

            git@github.com:matthew-brett/delocate.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Data Manipulation Libraries

            Try Top Libraries by matthew-brett

            transforms3d

            by matthew-brettPython

            multibuild

            by matthew-brettShell

            gitwash

            by matthew-brettPython

            nb2plots

            by matthew-brettPython

            bibstuff

            by matthew-brettPython