p4checkout


Namep4checkout JSON
Version 0.1.0 PyPI version JSON
download
home_page
SummaryStandalone GUI to check out a file to a pending changelist in Perforce
upload_time2023-10-06 19:21:49
maintainer
docs_urlNone
authorDvd848
requires_python>=3.9
licenseMIT
keywords p4 perforce gui
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# p4checkout

`p4checkout` acts as a standalone GUI utility offering Perforce users the ability to check out 
a file to a specific pending changelist. 
While this ability is available out of the box by directly using the official Perforce visual 
client (`p4v`), it's convenient to integrate it into the user's IDE. Most popular IDEs have 
an official Perforce plugin, but those that don't can use `p4checkout` to easily check out 
files before editing them.

## Screenshots

![](https://github.com/Dvd848/p4checkout/raw/main/images/img1.png)

![](https://github.com/Dvd848/p4checkout/raw/main/images/img2.png)

![](https://github.com/Dvd848/p4checkout/raw/main/images/img3.png)

![](https://github.com/Dvd848/p4checkout/raw/main/images/img4.png)

![](https://github.com/Dvd848/p4checkout/raw/main/images/img5.png)

For reference, the official pop-up box from `p4v`:

![](https://github.com/Dvd848/p4checkout/raw/main/images/p4v.png)

## Usage

```console
$ p4checkout -h
usage: p4checkout [-h] [--version] [-v] [-p PORT] [-c CLIENT] [-s HOST] [-u USER] path

positional arguments:
  path                  Path to file to check out

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -v, --verbose         Verbosity (-v, -vv, etc.)
  -p PORT, --port PORT  P4 port (e.g. 'ssl:localhost:1666')
  -c CLIENT, --client CLIENT
                        P4 client
  -s HOST, --host HOST  P4 host
  -u USER, --user USER  P4 user
```

> Note: Perforce can usually correctly infer some input parameters such as the host or user. 
> It's only required to provide them if for some reason Perforce won't pick them up correctly.

## IDE Integration

Most popular IDEs have a fully-featured Perforce plugin which includes this functionality and more.  
However, if you're using an IDE / editor which doesn't have a Perforce plugin, it might be possible to integrate 
this basic check-out functionality using a custom "run" feature, if your IDE offers it. 
Here are a few examples:

 * [Source Insight](https://www.sourceinsight.com/doc/v4/userguide/index.html#t=Manual%2FConcepts%2FSource_Control_Commands.htm)
 * [Notepad++](https://npp-user-manual.org/docs/run-menu/)

## Prerequisites

 * Python 3.9+ with Tkinter (`sudo apt-get install python3-tk`)
 * The [`p4python`](https://pypi.org/project/p4python/) package (`pip install p4python`)
 * A working Perforce setup

## Background

I originally developed this utility around 2013. The original version was written in C# and 
was used for integration with [Source Insight](https://www.sourceinsight.com/). 
The code in this repository is a recent Python port (2023) inspired by the original C# code.
However, as I (unfortunately) don't work on any Perforce-based projects anymore, it was only tested on a 
non-production basic home-setup created for this purpose only.  

(One last thing, since it has to be said: `p4v` probably has the best UX/UI that I've ever encountered).

## Limitations

 * `p4checkout` doesn't handle logging in to Perforce. Use `p4v` or `p4 login` to renew 
    your session if it has expired.

## License

`p4checkout` is released under MIT license.

`p4checkout` is an independent software tool. 
It is not an official product of Perforce Software, Inc., and is in no way affiliated with or endorsed by Perforce Software, Inc. 
Perforce® is a registered trademark of Perforce Software, Inc.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "p4checkout",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "p4,perforce,gui",
    "author": "Dvd848",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/71/61/86c3fd850b931cf26716719b50c9a701968d33f52ca819a0cd28f54f58ce/p4checkout-0.1.0.tar.gz",
    "platform": null,
    "description": "\n# p4checkout\n\n`p4checkout` acts as a standalone GUI utility offering Perforce users the ability to check out \na file to a specific pending changelist. \nWhile this ability is available out of the box by directly using the official Perforce visual \nclient (`p4v`), it's convenient to integrate it into the user's IDE. Most popular IDEs have \nan official Perforce plugin, but those that don't can use `p4checkout` to easily check out \nfiles before editing them.\n\n## Screenshots\n\n![](https://github.com/Dvd848/p4checkout/raw/main/images/img1.png)\n\n![](https://github.com/Dvd848/p4checkout/raw/main/images/img2.png)\n\n![](https://github.com/Dvd848/p4checkout/raw/main/images/img3.png)\n\n![](https://github.com/Dvd848/p4checkout/raw/main/images/img4.png)\n\n![](https://github.com/Dvd848/p4checkout/raw/main/images/img5.png)\n\nFor reference, the official pop-up box from `p4v`:\n\n![](https://github.com/Dvd848/p4checkout/raw/main/images/p4v.png)\n\n## Usage\n\n```console\n$ p4checkout -h\nusage: p4checkout [-h] [--version] [-v] [-p PORT] [-c CLIENT] [-s HOST] [-u USER] path\n\npositional arguments:\n  path                  Path to file to check out\n\noptions:\n  -h, --help            show this help message and exit\n  --version             show program's version number and exit\n  -v, --verbose         Verbosity (-v, -vv, etc.)\n  -p PORT, --port PORT  P4 port (e.g. 'ssl:localhost:1666')\n  -c CLIENT, --client CLIENT\n                        P4 client\n  -s HOST, --host HOST  P4 host\n  -u USER, --user USER  P4 user\n```\n\n> Note: Perforce can usually correctly infer some input parameters such as the host or user. \n> It's only required to provide them if for some reason Perforce won't pick them up correctly.\n\n## IDE Integration\n\nMost popular IDEs have a fully-featured Perforce plugin which includes this functionality and more.  \nHowever, if you're using an IDE / editor which doesn't have a Perforce plugin, it might be possible to integrate \nthis basic check-out functionality using a custom \"run\" feature, if your IDE offers it. \nHere are a few examples:\n\n * [Source Insight](https://www.sourceinsight.com/doc/v4/userguide/index.html#t=Manual%2FConcepts%2FSource_Control_Commands.htm)\n * [Notepad++](https://npp-user-manual.org/docs/run-menu/)\n\n## Prerequisites\n\n * Python 3.9+ with Tkinter (`sudo apt-get install python3-tk`)\n * The [`p4python`](https://pypi.org/project/p4python/) package (`pip install p4python`)\n * A working Perforce setup\n\n## Background\n\nI originally developed this utility around 2013. The original version was written in C# and \nwas used for integration with [Source Insight](https://www.sourceinsight.com/). \nThe code in this repository is a recent Python port (2023) inspired by the original C# code.\nHowever, as I (unfortunately) don't work on any Perforce-based projects anymore, it was only tested on a \nnon-production basic home-setup created for this purpose only.  \n\n(One last thing, since it has to be said: `p4v` probably has the best UX/UI that I've ever encountered).\n\n## Limitations\n\n * `p4checkout` doesn't handle logging in to Perforce. Use `p4v` or `p4 login` to renew \n    your session if it has expired.\n\n## License\n\n`p4checkout` is released under MIT license.\n\n`p4checkout` is an independent software tool. \nIt is not an official product of Perforce Software, Inc., and is in no way affiliated with or endorsed by Perforce Software, Inc. \nPerforce\u00ae is a registered trademark of Perforce Software, Inc.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Standalone GUI to check out a file to a pending changelist in Perforce",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/Dvd848/p4checkout"
    },
    "split_keywords": [
        "p4",
        "perforce",
        "gui"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5e0109feb12b3e9dce96e1f57a211057637dd0f9a4ac698744ecc93b98bb7d61",
                "md5": "e85904398fe9dc0def2e9b187ae12dda",
                "sha256": "aca99c0609e3438132f207139175457609705ca79560eebcc3c6735571d7a305"
            },
            "downloads": -1,
            "filename": "p4checkout-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e85904398fe9dc0def2e9b187ae12dda",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 9645,
            "upload_time": "2023-10-06T19:21:47",
            "upload_time_iso_8601": "2023-10-06T19:21:47.736615Z",
            "url": "https://files.pythonhosted.org/packages/5e/01/09feb12b3e9dce96e1f57a211057637dd0f9a4ac698744ecc93b98bb7d61/p4checkout-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "716186c3fd850b931cf26716719b50c9a701968d33f52ca819a0cd28f54f58ce",
                "md5": "ffc27fb077d2bac0d45a8ba8a41ea810",
                "sha256": "ab71a7a158e3fd3d2734ebaf887e558dd8830fecec522aade059dbe09aa2299d"
            },
            "downloads": -1,
            "filename": "p4checkout-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ffc27fb077d2bac0d45a8ba8a41ea810",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 12744,
            "upload_time": "2023-10-06T19:21:49",
            "upload_time_iso_8601": "2023-10-06T19:21:49.556240Z",
            "url": "https://files.pythonhosted.org/packages/71/61/86c3fd850b931cf26716719b50c9a701968d33f52ca819a0cd28f54f58ce/p4checkout-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-06 19:21:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Dvd848",
    "github_project": "p4checkout",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "p4checkout"
}
        
Elapsed time: 0.19071s