pbxproj


Namepbxproj JSON
Version 4.1.0 PyPI version JSON
download
home_pagehttp://github.com/kronenthaler/mod-pbxproj
SummaryXCode Project manipulation library for Python
upload_time2024-04-10 08:27:22
maintainerNone
docs_urlNone
authorIgnacio Calderon
requires_python>=3.8
licenseMIT License
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
.. image:: https://img.shields.io/github/actions/workflow/status/kronenthaler/mod-pbxproj/branch-check.yml?event=push&style=flat&logo=github&color=4da533
   :target: https://github.com/kronenthaler/mod-pbxproj/actions?query=workflow%3Abranch-check
   :alt: GitHub Workflow Status (branch)

.. image:: https://sonarcloud.io/api/project_badges/measure?project=kronenthaler_mod-pbxproj&metric=alert_status
   :target: https://sonarcloud.io/summary/new_code?id=kronenthaler_mod-pbxproj
   :alt: Sonar Quality Gate status

.. image:: https://sonarcloud.io/api/project_badges/measure?project=kronenthaler_mod-pbxproj&metric=coverage
   :target: https://sonarcloud.io/component_measures?metric=coverage&id=kronenthaler_mod-pbxproj
   :alt: Sonar branch coverage

.. image:: https://sonarcloud.io/api/project_badges/measure?project=kronenthaler_mod-pbxproj&metric=reliability_rating
   :target: https://sonarcloud.io/summary/new_code?id=kronenthaler_mod-pbxproj
   :alt: Sonar reliability grade

.. image:: https://img.shields.io/pypi/v/pbxproj?logo=python&logoColor=ffffff&style=flat&color=4da533
   :target: https://pypi.python.org/pypi/pbxproj
   :alt: PyPI

.. image:: https://img.shields.io/pypi/dm/pbxproj?logo=python&logoColor=ffffff&style=flat&color=4da533
   :target: https://pypi.python.org/pypi/pbxproj/
   :alt: PyPI - Downloads

.. image:: https://img.shields.io/pypi/l/pbxproj?style=flat&color=4da533
   :target: license.txt
   :alt: PyPI - License

pbxproj
=======

This module can read, modify, and write a .pbxproj file from an Xcode 4+ projects. The file is usually called project.pbxproj and can be found inside the .xcodeproj bundle. Because some task cannot be done by clicking on an UI or opening Xcode to do it for you, this python module lets you automate the modification process.

How to use it
-------------

The typical tasks with an Xcode project are adding files to the project and setting some standard compilation flags.
It can be achieved with a simple snippet like this:

.. code-block:: python

   from pbxproj import XcodeProject
   # open the project
   project = XcodeProject.load('myapp.xcodeproj/project.pbxproj')

   # add a file to it, force=false to not add it if it's already in the project
   project.add_file('MyClass.swift', force=False)

   # set a Other Linker Flags
   project.add_other_ldflags('-ObjC')

   # save the project, otherwise your changes won't be picked up by Xcode
   project.save()


That's it. More details about available API's visit the `wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/>`__.

Installation
------------

For installation instructions visit the `wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/Installation>`__

CLI
---

For instructions and commands available visit the `wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/CLI>`__

Documentation
-------------

For general documentation, visit the `wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/>`_.
For technical documentation, the public functions are documented and contains details about what is expected.

Reporting bugs
--------------

Did you find a bug? Too bad, but we want to help you, we need you to:

* Check you are running python3 and installed the package using the pip3 command.
* Provide as many details about the error you are having.
* If possible provide a sample project.pbxproj to reproduce the steps 
* If possible, try the sequence of steps on Xcode and provide the project.pbxproj generated by Xcode.

We cannot help you if your issue is a title: "it does not work". Or if there is no sequence of steps to reproduce the error. Those kind of issues will be ignored or closed automatically.

Contributing
------------

Do you want to fix an issue yourself? Great! some house rules:


* Provide a description of what problem you are solving, what case was not being taking into account
* Provide unit tests for the case you have fixed. Pull request without unit test or PRs that decrease the coverage will not be approved until this changes.
* Adhere to the coding style and conventions of the project, for instance, target_name is used to specify the target across all functions that use this parameter. Changes will be requested on PRs that don't follow this.
* Write descriptive commit messages.

License
-------

This project is licensed using MIT license.

            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/kronenthaler/mod-pbxproj",
    "name": "pbxproj",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Ignacio Calderon",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/88/dd/4652833ac1e4de5ed3f317ed04b4cf380799c897609133d31eaf92c72515/pbxproj-4.1.0.tar.gz",
    "platform": null,
    "description": "\n.. image:: https://img.shields.io/github/actions/workflow/status/kronenthaler/mod-pbxproj/branch-check.yml?event=push&style=flat&logo=github&color=4da533\n   :target: https://github.com/kronenthaler/mod-pbxproj/actions?query=workflow%3Abranch-check\n   :alt: GitHub Workflow Status (branch)\n\n.. image:: https://sonarcloud.io/api/project_badges/measure?project=kronenthaler_mod-pbxproj&metric=alert_status\n   :target: https://sonarcloud.io/summary/new_code?id=kronenthaler_mod-pbxproj\n   :alt: Sonar Quality Gate status\n\n.. image:: https://sonarcloud.io/api/project_badges/measure?project=kronenthaler_mod-pbxproj&metric=coverage\n   :target: https://sonarcloud.io/component_measures?metric=coverage&id=kronenthaler_mod-pbxproj\n   :alt: Sonar branch coverage\n\n.. image:: https://sonarcloud.io/api/project_badges/measure?project=kronenthaler_mod-pbxproj&metric=reliability_rating\n   :target: https://sonarcloud.io/summary/new_code?id=kronenthaler_mod-pbxproj\n   :alt: Sonar reliability grade\n\n.. image:: https://img.shields.io/pypi/v/pbxproj?logo=python&logoColor=ffffff&style=flat&color=4da533\n   :target: https://pypi.python.org/pypi/pbxproj\n   :alt: PyPI\n\n.. image:: https://img.shields.io/pypi/dm/pbxproj?logo=python&logoColor=ffffff&style=flat&color=4da533\n   :target: https://pypi.python.org/pypi/pbxproj/\n   :alt: PyPI - Downloads\n\n.. image:: https://img.shields.io/pypi/l/pbxproj?style=flat&color=4da533\n   :target: license.txt\n   :alt: PyPI - License\n\npbxproj\n=======\n\nThis module can read, modify, and write a .pbxproj file from an Xcode 4+ projects. The file is usually called project.pbxproj and can be found inside the .xcodeproj bundle. Because some task cannot be done by clicking on an UI or opening Xcode to do it for you, this python module lets you automate the modification process.\n\nHow to use it\n-------------\n\nThe typical tasks with an Xcode project are adding files to the project and setting some standard compilation flags.\nIt can be achieved with a simple snippet like this:\n\n.. code-block:: python\n\n   from pbxproj import XcodeProject\n   # open the project\n   project = XcodeProject.load('myapp.xcodeproj/project.pbxproj')\n\n   # add a file to it, force=false to not add it if it's already in the project\n   project.add_file('MyClass.swift', force=False)\n\n   # set a Other Linker Flags\n   project.add_other_ldflags('-ObjC')\n\n   # save the project, otherwise your changes won't be picked up by Xcode\n   project.save()\n\n\nThat's it. More details about available API's visit the `wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/>`__.\n\nInstallation\n------------\n\nFor installation instructions visit the `wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/Installation>`__\n\nCLI\n---\n\nFor instructions and commands available visit the `wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/CLI>`__\n\nDocumentation\n-------------\n\nFor general documentation, visit the `wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/>`_.\nFor technical documentation, the public functions are documented and contains details about what is expected.\n\nReporting bugs\n--------------\n\nDid you find a bug? Too bad, but we want to help you, we need you to:\n\n* Check you are running python3 and installed the package using the pip3 command.\n* Provide as many details about the error you are having.\n* If possible provide a sample project.pbxproj to reproduce the steps \n* If possible, try the sequence of steps on Xcode and provide the project.pbxproj generated by Xcode.\n\nWe cannot help you if your issue is a title: \"it does not work\". Or if there is no sequence of steps to reproduce the error. Those kind of issues will be ignored or closed automatically.\n\nContributing\n------------\n\nDo you want to fix an issue yourself? Great! some house rules:\n\n\n* Provide a description of what problem you are solving, what case was not being taking into account\n* Provide unit tests for the case you have fixed. Pull request without unit test or PRs that decrease the coverage will not be approved until this changes.\n* Adhere to the coding style and conventions of the project, for instance, target_name is used to specify the target across all functions that use this parameter. Changes will be requested on PRs that don't follow this.\n* Write descriptive commit messages.\n\nLicense\n-------\n\nThis project is licensed using MIT license.\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "XCode Project manipulation library for Python",
    "version": "4.1.0",
    "project_urls": {
        "Homepage": "http://github.com/kronenthaler/mod-pbxproj"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2aabfc595cac787020673a8be4b99f1cdeb1a8b398aa33640ba13b98a09d519d",
                "md5": "b0bec9d3cf781616624ee767044462ad",
                "sha256": "ab2e4c79ec5389e4a3a7abcab662b971ac10f5ff7fa62d6817addfe6f3224306"
            },
            "downloads": -1,
            "filename": "pbxproj-4.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b0bec9d3cf781616624ee767044462ad",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 41421,
            "upload_time": "2024-04-10T08:27:21",
            "upload_time_iso_8601": "2024-04-10T08:27:21.218516Z",
            "url": "https://files.pythonhosted.org/packages/2a/ab/fc595cac787020673a8be4b99f1cdeb1a8b398aa33640ba13b98a09d519d/pbxproj-4.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "88dd4652833ac1e4de5ed3f317ed04b4cf380799c897609133d31eaf92c72515",
                "md5": "c02e3a6314ae4fa2263cfdcff76908f4",
                "sha256": "b25498380e003827ded9ec50c0aa32a99baf18aa14dadc05e233a9616e11f999"
            },
            "downloads": -1,
            "filename": "pbxproj-4.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c02e3a6314ae4fa2263cfdcff76908f4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 29295,
            "upload_time": "2024-04-10T08:27:22",
            "upload_time_iso_8601": "2024-04-10T08:27:22.491231Z",
            "url": "https://files.pythonhosted.org/packages/88/dd/4652833ac1e4de5ed3f317ed04b4cf380799c897609133d31eaf92c72515/pbxproj-4.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-10 08:27:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kronenthaler",
    "github_project": "mod-pbxproj",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "pbxproj"
}
        
Elapsed time: 0.24357s