# pygologin
REST API provides programmatic access to GoLogin App. Create a new browser profile, get a list of all browser profiles, add a browser profile and running
# class GoLogin - class for working with <a href="https://gologin.com" target="_blank">gologin.com</a> API
# Official Package
## Getting Started
GoLogin supports Linux, MacOS and Windows platforms.
### Installation
`pip3 install gologin`
or clone this repository
`git clone https://github.com/gologinapp/pygologin.git`
for running gologin-selenium.py install selenium
`pip install selenium`
for Selenium need download <a href="https://chromedriver.chromium.org/downloads" target="_blank">webdriver</a>
### Usage
Where is token? API token is <a href="https://app.gologin.com/#/personalArea/TokenApi" target="_blank">here</a>.
To have an access to the page below you need <a href="https://app.gologin.com/#/createUser" target="_blank">register</a> GoLogin account.

### !!! Attention !!! If your selenium version is greater than or equal to 4.11, then you should use the "gologin-selenium_4.11.py" script, otherwise use "gologin-selenium.py" script
### Example "gologin-selenium.py"
```py
import time
from sys import platform
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from gologin import GoLogin
from gologin import getRandomPort
# random_port = get_random_port() # uncomment to use random port
gl = GoLogin({
"token": "yU0token",
"profile_id": "yU0Pr0f1leiD",
# "port": random_port
})
if platform == "linux" or platform == "linux2":
chrome_driver_path = "./chromedriver"
elif platform == "darwin":
chrome_driver_path = "./mac/chromedriver"
elif platform == "win32":
chrome_driver_path = "chromedriver.exe"
debugger_address = gl.start()
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", debugger_address)
driver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)
driver.get("http://www.python.org")
assert "Python" in driver.title
driver.close()
time.sleep(3)
gl.stop()
```
### Running example:
`python gologin-selenium.py`
###
### Methods
#### constructor
- `options` <[Object]> Options for profile
- `autoUpdateBrowser` <[boolean]> do not ask whether download new browser version (default false)
- `token` <[string]> your API <a href="https://gologin.com/#/personalArea/TokenApi" target="_blank">token</a>
- `profile_id` <[string]> profile ID
- `executablePath` <[string]> path to executable Orbita file. Orbita will be downloaded automatically if not specified.
- `remote_debugging_port` <[int]> port for remote debugging
- `vncPort` <[integer]> port of VNC server if you using it
- `tmpdir` <[string]> path to temporary directore for saving profiles
- `extra_params` arrayof <[string]> extra params for browser orbita (ex. extentions etc.)
- `uploadCookiesToServer` <[boolean]> upload cookies to server after profile stopping (default false)
- `writeCookesFromServer` <[boolean]> download cookies from server and write to profile cookies file (default true)
- `port` <[integer]> Orbita start port (uncomment out the lines with "random port" and "port" in `gologin-selenium.py` to select a random launch port)
```py
gl = GoLogin({
"token": "yU0token",
"profile_id": "yU0Pr0f1leiD",
})
```
#### Example create profile
`python gologin-create-profile.py`
```py
from gologin import GoLogin
gl = GoLogin({
"token": "yU0token",
})
profile_id = gl.create({
"name": 'profile_mac',
"os": 'mac',
"navigator": {
"language": 'en-US',
"userAgent": 'random', # Your userAgent (if you don't want to change, leave it at 'random')
"resolution": '1024x768', # Your resolution (if you want a random resolution - set it to 'random')
"platform": 'mac',
},
'proxyEnabled': True, # Specify 'false' if not using proxy
'proxy': {
'mode': 'gologin',
'autoProxyRegion': 'us'
# 'host': '',
# 'port': '',
# 'username': '',
# 'password': '',
},
"webRTC": {
"mode": "alerted",
"enabled": True,
},
});
print('profile id=', profile_id);
# gl.update({
# "id": 'yU0Pr0f1leiD',
# "name": 'profile_mac2',
# });
profile = gl.getProfile(profile_id);
print('new profile name=', profile.get("name"));
# gl.delete('yU0Pr0f1leiD')
```
#### start()
start browser with profile id
#### stop()
stop browser with profile id
## Full GoLogin API
**Swagger:** <a href="https://api.gologin.com/docs" target="_blank">link here</a>
**Postman:** <a href="https://documenter.getpostman.com/view/21126834/Uz5GnvaL" target="_blank">link here</a>
Raw data
{
"_id": null,
"home_page": "https://github.com/gologinapp/pygologin",
"name": "gologin",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": null,
"keywords": null,
"author": "GoLogin",
"author_email": "yuri@gologin.com",
"download_url": "https://files.pythonhosted.org/packages/00/e3/6c8cf4556a974522e741d3c08d9c5869ecd0701653272d3d4b2f57f9b086/gologin-2024.9.13060353.tar.gz",
"platform": null,
"description": "# pygologin\n REST API provides programmatic access to GoLogin App. Create a new browser profile, get a list of all browser profiles, add a browser profile and running \n\n# class GoLogin - class for working with <a href=\"https://gologin.com\" target=\"_blank\">gologin.com</a> API\n# Official Package\n\n## Getting Started\n\nGoLogin supports Linux, MacOS and Windows platforms.\n\n### Installation\n\n\n`pip3 install gologin`\n\nor clone this repository\n\n`git clone https://github.com/gologinapp/pygologin.git`\n\nfor running gologin-selenium.py install selenium\n\n`pip install selenium`\n\nfor Selenium need download <a href=\"https://chromedriver.chromium.org/downloads\" target=\"_blank\">webdriver</a>\n\n### Usage\n\nWhere is token? API token is <a href=\"https://app.gologin.com/#/personalArea/TokenApi\" target=\"_blank\">here</a>.\nTo have an access to the page below you need <a href=\"https://app.gologin.com/#/createUser\" target=\"_blank\">register</a> GoLogin account.\n\n\n\n### !!! Attention !!! If your selenium version is greater than or equal to 4.11, then you should use the \"gologin-selenium_4.11.py\" script, otherwise use \"gologin-selenium.py\" script\n\n### Example \"gologin-selenium.py\"\n\n```py\nimport time\nfrom sys import platform\nfrom selenium import webdriver\nfrom selenium.webdriver.chrome.options import Options\nfrom gologin import GoLogin\nfrom gologin import getRandomPort\n\n# random_port = get_random_port() # uncomment to use random port\n\ngl = GoLogin({\n\t\"token\": \"yU0token\",\n\t\"profile_id\": \"yU0Pr0f1leiD\",\n\t# \"port\": random_port\n\t})\n\nif platform == \"linux\" or platform == \"linux2\":\n\tchrome_driver_path = \"./chromedriver\"\nelif platform == \"darwin\":\n\tchrome_driver_path = \"./mac/chromedriver\"\nelif platform == \"win32\":\n\tchrome_driver_path = \"chromedriver.exe\"\n\ndebugger_address = gl.start()\nchrome_options = Options()\nchrome_options.add_experimental_option(\"debuggerAddress\", debugger_address)\ndriver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)\ndriver.get(\"http://www.python.org\")\nassert \"Python\" in driver.title\ndriver.close()\ntime.sleep(3)\ngl.stop()\n\n```\n### Running example:\n\n`python gologin-selenium.py`\n\n###\n### Methods\n#### constructor\n\n- `options` <[Object]> Options for profile\n - `autoUpdateBrowser` <[boolean]> do not ask whether download new browser version (default false)\n\t- `token` <[string]> your API <a href=\"https://gologin.com/#/personalArea/TokenApi\" target=\"_blank\">token</a>\n\t- `profile_id` <[string]> profile ID\n\t- `executablePath` <[string]> path to executable Orbita file. Orbita will be downloaded automatically if not specified.\n - `remote_debugging_port` <[int]> port for remote debugging\n\t- `vncPort` <[integer]> port of VNC server if you using it\n - `tmpdir` <[string]> path to temporary directore for saving profiles\n - `extra_params` arrayof <[string]> extra params for browser orbita (ex. extentions etc.)\n - `uploadCookiesToServer` <[boolean]> upload cookies to server after profile stopping (default false)\n - `writeCookesFromServer` <[boolean]> download cookies from server and write to profile cookies file (default true)\n - `port` <[integer]> Orbita start port (uncomment out the lines with \"random port\" and \"port\" in `gologin-selenium.py` to select a random launch port)\n\n```py\ngl = GoLogin({\n\t\"token\": \"yU0token\",\n\t\"profile_id\": \"yU0Pr0f1leiD\",\n\t})\n\n```\n#### Example create profile\n`python gologin-create-profile.py`\n```py\nfrom gologin import GoLogin\n\n\ngl = GoLogin({\n\t\"token\": \"yU0token\",\n\t})\n\nprofile_id = gl.create({\n \"name\": 'profile_mac',\n \"os\": 'mac',\n \"navigator\": {\n \"language\": 'en-US',\n \"userAgent\": 'random', # Your userAgent (if you don't want to change, leave it at 'random')\n \"resolution\": '1024x768', # Your resolution (if you want a random resolution - set it to 'random')\n \"platform\": 'mac',\n },\n 'proxyEnabled': True, # Specify 'false' if not using proxy\n 'proxy': {\n 'mode': 'gologin',\n 'autoProxyRegion': 'us' \n # 'host': '',\n # 'port': '',\n # 'username': '',\n # 'password': '',\n },\n \"webRTC\": {\n \"mode\": \"alerted\",\n \"enabled\": True,\n },\n});\n\nprint('profile id=', profile_id);\n\n# gl.update({\n# \"id\": 'yU0Pr0f1leiD',\n# \"name\": 'profile_mac2',\n# });\n\nprofile = gl.getProfile(profile_id);\n\nprint('new profile name=', profile.get(\"name\"));\n\n# gl.delete('yU0Pr0f1leiD')\n\n```\n\n#### start() \n\nstart browser with profile id\n\n#### stop() \n\nstop browser with profile id\n\n## Full GoLogin API\n**Swagger:** <a href=\"https://api.gologin.com/docs\" target=\"_blank\">link here</a>\n\n**Postman:** <a href=\"https://documenter.getpostman.com/view/21126834/Uz5GnvaL\" target=\"_blank\">link here</a>\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Official GoLogin python package",
"version": "2024.9.13060353",
"project_urls": {
"Homepage": "https://github.com/gologinapp/pygologin"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "072a27468619039118cec3e63c2b259fb5c701b437e6a7febab4dbdbd73db9ce",
"md5": "5c97a68f7a454b134c406840f6759b35",
"sha256": "e7595512e53a9f194e0fd65e2151ea3e2c60a02213f9fe14ade16858b6ce07c9"
},
"downloads": -1,
"filename": "gologin-2024.9.13060353-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5c97a68f7a454b134c406840f6759b35",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5",
"size": 19026,
"upload_time": "2024-09-13T06:03:54",
"upload_time_iso_8601": "2024-09-13T06:03:54.834693Z",
"url": "https://files.pythonhosted.org/packages/07/2a/27468619039118cec3e63c2b259fb5c701b437e6a7febab4dbdbd73db9ce/gologin-2024.9.13060353-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "00e36c8cf4556a974522e741d3c08d9c5869ecd0701653272d3d4b2f57f9b086",
"md5": "8b359a6dcf163c83b6375c0f0eb1b009",
"sha256": "a8978fa926ade443f458090b6ea229960535f1dfd8d74d11e6e3c0854958d11b"
},
"downloads": -1,
"filename": "gologin-2024.9.13060353.tar.gz",
"has_sig": false,
"md5_digest": "8b359a6dcf163c83b6375c0f0eb1b009",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 17305,
"upload_time": "2024-09-13T06:03:56",
"upload_time_iso_8601": "2024-09-13T06:03:56.134614Z",
"url": "https://files.pythonhosted.org/packages/00/e3/6c8cf4556a974522e741d3c08d9c5869ecd0701653272d3d4b2f57f9b086/gologin-2024.9.13060353.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-13 06:03:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gologinapp",
"github_project": "pygologin",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "gologin"
}